Reference
This section is the alphabetical, exhaustive surface of every API the daemon exposes. It is the source of truth for fields, types, defaults, and runtime behaviour. The text under each entry assumes you already know why you are reaching for that primitive; for the mental model, see Concepts, and for guided learning paths see Tutorial.
Sections
| Section | What it documents |
|---|---|
| Modules | Every module shipped under (23 modules). One page per module, listing every @action, params model, return shape, and constraint spec. |
| Runtime | Cross-cutting subsystems that aren't a single module: hooks, middleware, credentials vault, multimodal images, voice, configuration, tool chaining. |
| HTTP API | REST endpoints (/api/...) plus the Socket.IO event protocol and the DAP debug-adapter protocol. |
| CLI | Every digitorn ... sub-command, its flags, and a worked example. |
| Client SDKs | chat client, React preview SDK, Python testing SDK, web client spec. |
Where things actually live
The runtime is an in-process Python framework. When you call a tool from the LLM, the path is:
- The LLM emits a tool call (native API or a parser-recoverable text format, see Agents - Native vs text-based).
- The agent loop dispatches the call through
context_builder.execute_tool. - The capabilities gate (App Configuration - tools.capabilities) verifies the action is allowed; high-risk actions pause for approval.
- The behavior engine
(Behavior Engine) runs
pre_tool_checkthen post-callpost_tool_check. - The module's
@action-decorated method runs and returns a result.
Hooks (Hooks) fire around the call as configured.
How to navigate this section
- Looking for a specific module? Open reference/modules/ and pick by name.
- Looking for an HTTP endpoint? Open reference(daemon API).md.
- Looking for a Socket.IO event? Open reference(daemon API).md.
- Trying to figure out what a YAML field does? That's not here - the YAML language is documented in Language.