# Legion v0.2.0 - Table of Contents

Legion is an Elixir framework for building multi-agent AI systems.

## Pages

- [LICENSE](license.md)
- [Changelog](changelog.md)

## Modules

- Core
  - [Legion](Legion.md): 
  - [Legion.Agent](Legion.Agent.md): `use Legion.Agent` to define your agent.
  - [Legion.Tool](Legion.Tool.md): `use Legion.Tool` to mark a module as a tool available to agents.

- Runtime
  - [Legion.AgentServer](Legion.AgentServer.md): GenServer that maintains conversation history for a long-lived agent.
  - [Legion.Executor](Legion.Executor.md): Drives the LLM thinking loop for a single agent turn.
  - [Legion.Sandbox](Legion.Sandbox.md): Sandboxed code evaluation with AST-level safety checks.
  - [Legion.Sandbox.ASTChecker](Legion.Sandbox.ASTChecker.md): Static safety check for sandboxed code.

- Tools
  - [Legion.Tools.AgentTool](Legion.Tools.AgentTool.md): Built-in tool for delegating tasks to sub-agents.
  - [Legion.Tools.HumanTool](Legion.Tools.HumanTool.md): Built-in tool for asking a human a question mid-execution.

- Internals
  - [Legion.AgentPrompt](Legion.AgentPrompt.md): This module is responsible for generating prompts for agents based on their definitions and the tools they have access to.

  - [Legion.SourceRegistry](Legion.SourceRegistry.md): Compile-time registry of source code for external modules.
  - [Legion.Telemetry](Legion.Telemetry.md): Telemetry integration for Legion agents.

