# API Reference This section organizes the public API by the actual package structure. Each page contains three kinds of information: | Information | Purpose | | --- | --- | | Source | Corresponding source files for jumping back to the implementation. | | Public contract | Common signatures, parameters, return values, and exceptions. | | Autodoc | Class/function documentation imported from the current source. | ## Package structure | Package | Contents | | --- | --- | | [`rath`](rath.md) | Package-level entrypoint. | | [`rath.session`](session.md) | `Session`, chunks, loop, compression, persistence, lineage, registry. | | [`rath.backend`](backend.md) | Backend abstractions, sandboxes, persistent sandbox identities, tool payloads, results, registry, stream. | | [`rath.flow`](flow.md) | `Workflow`, `AgentParam`, `Agent`, `Compressor`. | | [`rath.flow.tool`](flow_tool.md) | `FlowToolCall`, built-in system tools, MCP adapters, backend tool factories, schema merging. | | [`rath.llm`](llm.md) | `Provider`, request/response types, OpenAI and Anthropic clients, client registry, streaming. | | [`rath.memory`](memory.md) | Memory backends, stores, op payloads, result types, local backend, OpenViking adapter boundary, registry. | | [`rath.config`](config.md) | Persistent `~/.openrath/config.json` schema, path resolution, and store helpers. | | [`rath.utils`](utils.md) | Project-root and test environment helpers. | ```{toctree} --- maxdepth: 2 caption: API Reference --- rath session backend flow flow_tool llm memory config utils ```