# Raxol Agent v2.6.0 - Table of Contents

> AI agent framework for Elixir built on OTP. TEA-based agents with crash
isolation, inter-agent messaging, team supervision, and real SSE streaming
to Anthropic, OpenAI, Ollama, and more.

## Pages

- [Raxol Agent](readme.md)

## Modules

- [Raxol.Agent](Raxol.Agent.md): Thin layer over `Raxol.Core.Runtime.Application` for building AI agents.
- [Raxol.Agent.AIBackend](Raxol.Agent.AIBackend.md): Behaviour for pluggable AI model integration.
- [Raxol.Agent.Action](Raxol.Agent.Action.md): Behaviour for reusable, composable agent operations.
- [Raxol.Agent.Action.Pipeline](Raxol.Agent.Action.Pipeline.md): Composes actions into sequential pipelines.
- [Raxol.Agent.Action.Schema](Raxol.Agent.Action.Schema.md): Lightweight schema validation for Action input/output.
- [Raxol.Agent.Action.ToolConverter](Raxol.Agent.Action.ToolConverter.md): Converts Action modules to LLM tool definitions and dispatches tool calls.
- [Raxol.Agent.Actions.Memory](Raxol.Agent.Actions.Memory.md): LLM-callable cross-session memory actions.
- [Raxol.Agent.Actions.Memory.Forget](Raxol.Agent.Actions.Memory.Forget.md): Delete a memory by its id.
- [Raxol.Agent.Actions.Memory.Recall](Raxol.Agent.Actions.Memory.Recall.md): Search cross-session memory for facts relevant to a query.
- [Raxol.Agent.Actions.Memory.Remember](Raxol.Agent.Actions.Memory.Remember.md): Persist a fact to cross-session memory.
- [Raxol.Agent.Actions.SessionSearch](Raxol.Agent.Actions.SessionSearch.md): Search past conversation history for raw messages relevant to a query.
- [Raxol.Agent.Actions.Skills](Raxol.Agent.Actions.Skills.md): LLM-callable procedural-memory (skill) actions.
- [Raxol.Agent.Actions.Skills.List](Raxol.Agent.Actions.Skills.List.md): List available skills (metadata only -- the cheap progressive-disclosure level).
- [Raxol.Agent.Actions.Skills.Manage](Raxol.Agent.Actions.Skills.Manage.md): Create, patch, or delete a managed skill.
- [Raxol.Agent.Actions.Skills.View](Raxol.Agent.Actions.Skills.View.md): Read a skill's `SKILL.md` body, or one supporting file within it.
- [Raxol.Agent.Actions.Vfs](Raxol.Agent.Actions.Vfs.md): Virtual filesystem actions for AI agents.
- [Raxol.Agent.Actions.Vfs.ChangeDir](Raxol.Agent.Actions.Vfs.ChangeDir.md)
- [Raxol.Agent.Actions.Vfs.GetTree](Raxol.Agent.Actions.Vfs.GetTree.md)
- [Raxol.Agent.Actions.Vfs.ListDir](Raxol.Agent.Actions.Vfs.ListDir.md)
- [Raxol.Agent.Actions.Vfs.MakeDir](Raxol.Agent.Actions.Vfs.MakeDir.md)
- [Raxol.Agent.Actions.Vfs.ReadFile](Raxol.Agent.Actions.Vfs.ReadFile.md)
- [Raxol.Agent.Actions.Vfs.Remove](Raxol.Agent.Actions.Vfs.Remove.md)
- [Raxol.Agent.Actions.Vfs.WriteFile](Raxol.Agent.Actions.Vfs.WriteFile.md)
- [Raxol.Agent.Authorization.Engine](Raxol.Agent.Authorization.Engine.md): Pure ALLOW/ASK/DENY authorization reducer.
- [Raxol.Agent.Authorization.Engine.Decision](Raxol.Agent.Authorization.Engine.Decision.md): The folded outcome of one `evaluate/5` pass.
- [Raxol.Agent.Authorization.Engine.State](Raxol.Agent.Authorization.Engine.State.md): Engine state: current labels, remembered approvals, monotonic spec.
- [Raxol.Agent.Authorization.Hook](Raxol.Agent.Authorization.Hook.md): Composes the ALLOW/ASK/DENY engine into the `Raxol.Agent.CommandHook` chain.
- [Raxol.Agent.Authorization.Labels](Raxol.Agent.Authorization.Labels.md): Label state for the authorization engine, with monotonic merge.
- [Raxol.Agent.Authorization.Policy](Raxol.Agent.Authorization.Policy.md): A single policy in the ALLOW/ASK/DENY authorization engine.
- [Raxol.Agent.Authorization.Server](Raxol.Agent.Authorization.Server.md): Per-workflow authorization engine as a GenServer.
- [Raxol.Agent.Authorization.Verdict](Raxol.Agent.Authorization.Verdict.md): The outcome a single authorization policy returns when it evaluates.
- [Raxol.Agent.Auxiliary](Raxol.Agent.Auxiliary.md): Per-task-kind model routing for background agent work.
- [Raxol.Agent.Backend.ClaudeCode](Raxol.Agent.Backend.ClaudeCode.md): AIBackend wrapping the Claude Code CLI as a native harness.
- [Raxol.Agent.Backend.Cursor](Raxol.Agent.Backend.Cursor.md): AIBackend wrapping the Cursor agent CLI (`cursor-agent`) as a native harness.
- [Raxol.Agent.Backend.HTTP](Raxol.Agent.Backend.HTTP.md): HTTP-based AI backend using Req.
- [Raxol.Agent.Backend.Lumo](Raxol.Agent.Backend.Lumo.md): Proton Lumo AI backend with U2L (User-to-LLM) encryption.
- [Raxol.Agent.Backend.Lumo.Crypto](Raxol.Agent.Backend.Lumo.Crypto.md): Cryptographic operations for Proton Lumo's U2L (User-to-LLM) encryption.
- [Raxol.Agent.Backend.Mock](Raxol.Agent.Backend.Mock.md): Deterministic AI backend for testing.
- [Raxol.Agent.Backend.Native](Raxol.Agent.Backend.Native.md): Generic `Raxol.Agent.AIBackend` runtime for native CLI harnesses.
- [Raxol.Agent.Backend.Selector](Raxol.Agent.Backend.Selector.md): Resolve a `Raxol.Agent.ExecutorConfig` to a concrete backend module + options.
- [Raxol.Agent.Cache](Raxol.Agent.Cache.md): Behaviour for `Raxol.Agent.Policy.Cache` storage.
- [Raxol.Agent.Cache.Ets](Raxol.Agent.Cache.Ets.md): ETS-backed `Raxol.Agent.Cache` adapter.
- [Raxol.Agent.Cache.Postgrex](Raxol.Agent.Cache.Postgrex.md): Postgrex-backed `Raxol.Agent.Cache` adapter.
- [Raxol.Agent.Comm](Raxol.Agent.Comm.md): Agent communication primitives.
- [Raxol.Agent.CommandHook](Raxol.Agent.CommandHook.md): Pre/post execution hooks for agent commands.
- [Raxol.Agent.ContextCompactor](Raxol.Agent.ContextCompactor.md): Token-aware message history compaction for agent sessions.
- [Raxol.Agent.ContextStore](Raxol.Agent.ContextStore.md): ETS-backed persistent context that survives agent restarts.
- [Raxol.Agent.Conversation.Item](Raxol.Agent.Conversation.Item.md): One immutable entry in a `Raxol.Agent.Conversation.Log`.
- [Raxol.Agent.Conversation.Log](Raxol.Agent.Conversation.Log.md): Append-only conversation item log with live-tail-no-replay streaming.
- [Raxol.Agent.Conversation.Recorder](Raxol.Agent.Conversation.Recorder.md): Records `Raxol.Agent.Stream` events into a `Raxol.Agent.Conversation.Log`.
- [Raxol.Agent.Conversation.Store](Raxol.Agent.Conversation.Store.md): Behaviour for `Raxol.Agent.Conversation.Item` persistence.
- [Raxol.Agent.Conversation.Store.ETS](Raxol.Agent.Conversation.Store.ETS.md): ETS-backed `Raxol.Agent.Conversation.Store` adapter.
- [Raxol.Agent.Curator](Raxol.Agent.Curator.md): Keeps agent-authored skills healthy: ages unused ones and bounds their growth.
- [Raxol.Agent.Directive](Raxol.Agent.Directive.md): Agent-specific effect directives.
- [Raxol.Agent.Directive.Async](Raxol.Agent.Directive.Async.md): Spawn a task with a sender callback. The function receives a `sender/1`
closure that can be invoked multiple times to send messages back to the
TEA loop as `{:command_result, msg}`.
- [Raxol.Agent.Directive.SendAgent](Raxol.Agent.Directive.SendAgent.md): Route a message to another agent by id. The target is looked up in
`Raxol.Agent.Registry`; on success the message arrives as
`{:send_message, message}` via `GenServer.cast/2`; on failure the
sender receives `{:command_result, {:send_agent_error, :not_found, target_id}}`.

- [Raxol.Agent.Directive.Shell](Raxol.Agent.Directive.Shell.md): Run a shell command via Port. Returns a single
`{:command_result, {:shell_result, %{exit_status: status, output: binary}}}`
message when the command completes or the timeout elapses.
- [Raxol.Agent.EventForwarder](Raxol.Agent.EventForwarder.md): Forwarding helpers for `Raxol.Agent.Stream` events.
- [Raxol.Agent.ExecutorConfig](Raxol.Agent.ExecutorConfig.md): Explicit `{harness, model, auth}` configuration for an agent executor.
- [Raxol.Agent.Harness.ClaudeCode](Raxol.Agent.Harness.ClaudeCode.md): Native harness driver for the Claude Code CLI (`claude`).
- [Raxol.Agent.Harness.Cursor](Raxol.Agent.Harness.Cursor.md): Native harness driver for the Cursor agent CLI (`cursor-agent`).
- [Raxol.Agent.Harness.McpToolConfig](Raxol.Agent.Harness.McpToolConfig.md): Builds the MCP configuration that injects Raxol's tools into a native CLI.
- [Raxol.Agent.Harness.StreamJson](Raxol.Agent.Harness.StreamJson.md): Parser for the `--output-format stream-json` NDJSON protocol shared by Claude
Code and Cursor's `cursor-agent`.
- [Raxol.Agent.LSPContext](Raxol.Agent.LSPContext.md): LSP context enrichment for agent prompts.
- [Raxol.Agent.McpClient](Raxol.Agent.McpClient.md): MCP client for consuming external tool servers.
- [Raxol.Agent.McpClient.Message](Raxol.Agent.McpClient.Message.md): JSON-RPC 2.0 message encoding/decoding for MCP.
- [Raxol.Agent.Memory](Raxol.Agent.Memory.md): Cross-session memory for Raxol agents.
- [Raxol.Agent.Memory.Manager](Raxol.Agent.Memory.Manager.md): Pure helpers that weave a memory provider into an agent turn.
- [Raxol.Agent.Memory.Record](Raxol.Agent.Memory.Record.md): A single cross-session memory entry.
- [Raxol.Agent.Memory.SessionSearch](Raxol.Agent.Memory.SessionSearch.md): Full-text recall over raw conversation history.
- [Raxol.Agent.Memory.Stack](Raxol.Agent.Memory.Stack.md): A `Raxol.Agent.Memory` provider that composes several providers into one.
- [Raxol.Agent.Memory.Store.Ets](Raxol.Agent.Memory.Store.Ets.md): Default cross-session memory provider: a self-contained ETS+DETS store.
- [Raxol.Agent.NativeHarness](Raxol.Agent.NativeHarness.md): Behaviour for a native CLI harness: an external coding-agent CLI (Claude Code,
Cursor, ...) that owns its own agent loop and tool dispatch.
- [Raxol.Agent.Orchestrator](Raxol.Agent.Orchestrator.md): Coordinates multiple AI agents in the cockpit.
- [Raxol.Agent.PermissionHook](Raxol.Agent.PermissionHook.md): Runtime permission enforcement for agent commands.
- [Raxol.Agent.Policy](Raxol.Agent.Policy.md): Umbrella for declarative `Raxol.Agent.PolicyApplier` policies.
- [Raxol.Agent.Policy.Cache](Raxol.Agent.Policy.Cache.md): Cache policy: short-circuit an operation when its `:key_fn`
matches a cached value in the configured `Raxol.Agent.Cache`
adapter.
- [Raxol.Agent.Policy.Retry](Raxol.Agent.Policy.Retry.md): Retry policy: wrap an operation in a bounded-attempt loop with
configurable backoff and error-matching.
- [Raxol.Agent.Policy.Timeout](Raxol.Agent.Policy.Timeout.md): Timeout policy: abort an operation after `:wall_ms` elapsed
wall-clock time.
- [Raxol.Agent.PolicyApplier](Raxol.Agent.PolicyApplier.md): Runtime that wraps an operation in a list of
`Raxol.Agent.Policy` structs.
- [Raxol.Agent.Process](Raxol.Agent.Process.md): GenServer running the observe-think-act loop for an AI agent.
- [Raxol.Agent.ProcessBehaviour](Raxol.Agent.ProcessBehaviour.md): Behaviour for agents running in the observe/think/act loop (Agent.Process).
- [Raxol.Agent.Protocol](Raxol.Agent.Protocol.md): Message format for agent-to-agent and pilot-to-agent communication.
- [Raxol.Agent.Sandbox](Raxol.Agent.Sandbox.md): Multi-dimensional isolation protocol for agent operations.
- [Raxol.Agent.Sandbox.Async](Raxol.Agent.Sandbox.Async.md): Async-task isolation dimension for `Raxol.Agent.Sandbox`.
- [Raxol.Agent.Sandbox.Chain](Raxol.Agent.Sandbox.Chain.md): Walk a list of sandboxes for a single authorization decision.
- [Raxol.Agent.Sandbox.SendAgent](Raxol.Agent.Sandbox.SendAgent.md): Inter-agent messaging isolation dimension for
`Raxol.Agent.Sandbox`.
- [Raxol.Agent.Sandbox.Shell](Raxol.Agent.Sandbox.Shell.md): Shell isolation dimension for `Raxol.Agent.Sandbox`.
- [Raxol.Agent.SandboxHook](Raxol.Agent.SandboxHook.md): `Raxol.Agent.CommandHook` implementation that consults an agent's
declared `sandbox/0` list before allowing a directive to fire.
- [Raxol.Agent.SelfImprove](Raxol.Agent.SelfImprove.md): After-turn background curation: review a completed agent turn and persist
durable knowledge without touching the live conversation.
- [Raxol.Agent.SemanticTree](Raxol.Agent.SemanticTree.md): Transforms a raw view tree into a semantic tree for agent consumption.
- [Raxol.Agent.Session](Raxol.Agent.Session.md): Manages a single agent's TEA application lifecycle.
- [Raxol.Agent.SessionStreamServer](Raxol.Agent.SessionStreamServer.md): HTTP/SSE server for remote agent session observation.
- [Raxol.Agent.SessionStreamer](Raxol.Agent.SessionStreamer.md): Real-time event streaming for agent sessions.
- [Raxol.Agent.Skill](Raxol.Agent.Skill.md): A procedural-memory skill: an agentskills.io `SKILL.md` parsed into a struct.
- [Raxol.Agent.Skills](Raxol.Agent.Skills.md): Entry points for the procedural-memory (skills) subsystem.
- [Raxol.Agent.Skills.Store](Raxol.Agent.Skills.Store.md): Disk-backed index of procedural-memory skills, with usage telemetry.
- [Raxol.Agent.Strategy](Raxol.Agent.Strategy.md): Behaviour for agent execution strategies.
- [Raxol.Agent.Strategy.Direct](Raxol.Agent.Strategy.Direct.md): Sequential action execution strategy.
- [Raxol.Agent.Strategy.ReAct](Raxol.Agent.Strategy.ReAct.md): ReAct (Reasoning + Acting) strategy.
- [Raxol.Agent.Stream](Raxol.Agent.Stream.md): Stream-first API for agent sessions.
- [Raxol.Agent.Stream.Event](Raxol.Agent.Stream.Event.md): Typed structs for `Raxol.Agent.Stream` events plus conversion helpers.
- [Raxol.Agent.Stream.Event.Done](Raxol.Agent.Stream.Event.Done.md): Final answer from the agent.
- [Raxol.Agent.Stream.Event.Error](Raxol.Agent.Stream.Event.Error.md): Error during stream execution.
- [Raxol.Agent.Stream.Event.TextDelta](Raxol.Agent.Stream.Event.TextDelta.md): Streaming text chunk from the LLM.
- [Raxol.Agent.Stream.Event.ToolResult](Raxol.Agent.Stream.Event.ToolResult.md): Result of executing a tool.
- [Raxol.Agent.Stream.Event.ToolUse](Raxol.Agent.Stream.Event.ToolUse.md): LLM is requesting a tool call.
- [Raxol.Agent.Stream.Event.TurnComplete](Raxol.Agent.Stream.Event.TurnComplete.md): End of one ReAct turn.
- [Raxol.Agent.Supervisor](Raxol.Agent.Supervisor.md): Supervision subtree for the agent subsystem.
- [Raxol.Agent.Team](Raxol.Agent.Team.md): Supervisor for agent teams.
- [Raxol.Agent.ThreadEvent](Raxol.Agent.ThreadEvent.md): One entry in a `Raxol.Agent.ThreadLog`.
- [Raxol.Agent.ThreadLog](Raxol.Agent.ThreadLog.md): Behaviour for `Raxol.Agent.ThreadEvent` persistence.
- [Raxol.Agent.ThreadLog.Ets](Raxol.Agent.ThreadLog.Ets.md): ETS-backed `Raxol.Agent.ThreadLog` adapter.
- [Raxol.Agent.ThreadLog.Postgrex](Raxol.Agent.ThreadLog.Postgrex.md): Postgrex-backed `Raxol.Agent.ThreadLog` adapter.
- [Raxol.Agent.ThreadLogRouter](Raxol.Agent.ThreadLogRouter.md): Telemetry handler that routes agent-side events
(`[:raxol, :agent, :policy, :*]` and
`[:raxol, :agent, :sandbox, :denied]`) into a
`Raxol.Agent.ThreadLog` adapter as durable audit entries.
- [Raxol.Agent.ToolPolicy](Raxol.Agent.ToolPolicy.md): Composable authorizers for the LLM tool-call path.
- [Raxol.Agent.Tunnel](Raxol.Agent.Tunnel.md): One endpoint of the reverse co-driving tunnel.
- [Raxol.Agent.Tunnel.Frame](Raxol.Agent.Tunnel.Frame.md): Wire frame for the reverse co-driving tunnel.
- [Raxol.Agent.Tunnel.Link](Raxol.Agent.Tunnel.Link.md): In-process link between two `Raxol.Agent.Tunnel` endpoints.
- [Raxol.Agent.Turn](Raxol.Agent.Turn.md): Drives one self-improving agent turn for an agent module.
- [Raxol.Agent.UseProcess](Raxol.Agent.UseProcess.md): Convenience macro for agents running in the observe/think/act loop.
- [Raxol.Agent.UserModel](Raxol.Agent.UserModel.md): A derived, per-user model of who the agent is talking to.
- [RaxolAgent](RaxolAgent.md): AI agent framework for Elixir built on OTP.

