Skip to main content

Glossary

TermDefinition
ActionA function exposed by a module that an agent can call. Decorated with @action in the module's Python source. Has a name, a Pydantic params model, a return type, a risk_level, and an optional tool_prompt injected into the system prompt.
AgentAn LLM-powered entity with its own brain (LLM config), system prompt, and tool surface. Declared under agents: in the YAML. Can be a coordinator (spawns sub-agents) or specialist / worker.
Alias passThe compiler step that reshapes legacy flat YAMLs (execution:, modules: at the top level) into the canonical 8-block form before Pydantic validates.
AppA deployable unit: one app.yaml (and optional bundle directory). Gets an app_id, deploys under a (app_id, scope, owner_user_id) triple, runs in a daemon.
AppDefinitionThe Pydantic root model for the canonical 8-block YAML grammar.
BootstrapThe daemon-side phase that turns a CompiledApp into a RuntimeApp. Instantiates modules, pushes configs, runs setup steps, builds the tool index, wires the agent loop.
BrainLLM config: provider, model, backend, optional fallback, optional context override. Declared under agents[].brain.
BundleThe on-disk directory holding an app's compiled artefacts (app.yaml + meta.json + bundled prompts/skills/behavior/assets). One per (app_id, scope, owner_user_id) triple.
CapabilityAn action permission expressed in tools.capabilities: grant, deny, approve. Compiled into a SecurityProfile consulted on every tool call.
ChannelA bidirectional I/O surface: webhook, cron, file_watcher, email, RSS, queue, slack, discord, telegram, voice. Configured under tools.channels.<name>.
CompactionAutomatic summarisation of old messages when the context window fills up. Configured under runtime.context.strategy and compression_trigger.
CompilerAppYAMLCompiler. Reads YAML, runs the alias pass, validates with Pydantic, resolves variables and bundle namespaces, and produces a CompiledApp.
Context windowMax tokens an LLM can process per request. Per-brain via agent.brain.context.max_tokens, default-detected from the provider hint.
CoordinatorAn agent with role: coordinator that can spawn sub-agents via the Agent tool.
CredentialNamed external secret (api_key, OAuth token, mTLS pair, ...). Lives in the encrypted vault, referenced by name in YAML. Has a scope (system_wide, per_app_shared, per_user, per_app_per_user).
DaemonThe long-running FastAPI / Uvicorn process. Hosts the daemon HTTP API, the Socket.IO event stream, the agent loop, and the module instances.
Direct modeA tool injection mode where every tool's full JSON schema is passed to the LLM up front. Auto-selected for small toolsets. See Tools.
Discovery modeA tool injection mode where the LLM sees only meta-tools (search_tools, get_tool, ...) and discovers domain tools on demand. Auto-selected for large toolsets.
FQNFully-qualified name. A tool's canonical id: <module_id>.<action>, e.g. shell.bash, filesystem.write.
HookA configurable runtime callback that fires on a specific event (turn_start, tool_start, tool_end, ...) and runs an action (compact_context, inject_message, gate, ...). Fully declarative, lives under runtime.hooks.
ManifestThe client-facing summary of an app: identity, modes, modules, slash commands, theme, etc. Built by manager.summary.
MiddlewareA composable wrapper around tool calls. Runs before and after the action method. Built-ins: audit, retry, redact, rate_limit, content_filter.
ModuleA self-contained Python package that subclasses BaseModule and declares CONFIG_MODEL, CONSTRAINTS, and action methods.
ProviderAn LLM service backend (DeepSeek, OpenAI, Anthropic, Ollama, ...). Declared under agents[].brain.provider. Unknown hints are accepted at compile time and fall back to OpenAI-compatible defaults.
Provider hintThe string in brain.provider. Resolves the default base_url and the default backend (openai_compat vs anthropic).
Risk levelA per-action classification (low, medium, high) used by the capabilities gate. Unset = medium.
RoleThe functional role of an agent: coordinator, specialist, worker. Free-form descriptive roles (assistant, analyst, ...) are also accepted.
ScopeWhere a credential applies. system_wide = one for the whole daemon; per_app_shared = one per app, shared by all users; per_user = one per user, app-agnostic; per_app_per_user = one per app per user.
SessionA per-conversation state container. Has an id, a list of messages, a tool-call history, persisted facts.
SkillA reusable workflow markdown file the agent loads on demand via use_skill. Declared under dev.skills.
SpecialistA sub-agent with role: specialist and a constrained tool surface. Spawned by a coordinator via the Agent tool.
Token pressureRatio of used tokens to context window. When it crosses runtime.context.compression_trigger (default 0.75), auto-compaction fires.
ToolWhat the LLM calls. Always backed by an @action somewhere - either on a module (most common), on context_builder (meta-tools), or on agent_spawn (sub-agent ops).
TriggerAn inbound event source under runtime.triggers (legacy: cron, watch, http) or via the channels module (production: 11 adapters).
VariableCompile-time substitution: {{my_var}} (under dev.variables), {{env.X}}, {{secret.X}}, {{sys.X}}, {{app.X}}, bundle namespaces ({{prompt.X}}, {{skill.X}}, {{behavior.X}}, {{asset.X}}).
Working memoryGoal + todos + facts + entities, rendered into the system prompt every turn. Lives in the memory module's session-scoped store.
Workspace (renderer)ui.workspace - the in-memory virtual filesystem the workspace module mirrors to the client (Lovable-style). NOT the same as runtime.workdir.
Workspace (path)runtime.workdir - the host filesystem path the agent's filesystem and shell modules root themselves at NOT the same as ui.workspace.