pub struct Settings {Show 20 fields
pub config_version: Option<String>,
pub agent: Agent,
pub intelligence: Intelligence,
pub mcp: Mcp,
pub tools: Tools,
pub store: Store,
pub memory: Memory,
pub context: Context,
pub knowledge: Knowledge,
pub search: Search,
pub skills: Skills,
pub workflows: Vec<Value>,
pub limits: Limits,
pub lifecycle: Lifecycle,
pub a2a: A2a,
pub interface: Interface,
pub webhooks: Webhooks,
pub goal: Option<Goal>,
pub observability: Observability,
pub security: Security,
}Expand description
The typed v2 settings document. Every object is deny_unknown_fields;
every section defaults so a minimal document (agent.instruction alone)
is complete.
Fields§
§config_version: Option<String>§agent: Agent§intelligence: Intelligence§mcp: Mcp§tools: Tools§store: Store§memory: Memory§context: Context§knowledge: Knowledge§search: Search§skills: Skills§workflows: Vec<Value>Inline dialect-3 definitions or {name, file|uri} references — kept as
raw documents here; the workflow engine (RFC 0027) types them.
limits: Limits§lifecycle: Lifecycle§a2a: A2a§interface: InterfaceThe display-client surface (RFC 0032): opt-in TUI/web-UI methods on the
A2A listener (the global SubscribeToEvents feed + interface read ops).
webhooks: WebhooksThe inbound webhook HTTP surface (RFC 0027): a dedicated listener for
webhook start nodes and wait: {on: webhook} callbacks.
goal: Option<Goal>The self-correcting goal watchdog (RFC 0026): a periodic check of whether the configured goal is achieved (or the agent is stuck).
observability: Observability§security: SecurityImplementations§
Source§impl Settings
impl Settings
Sourcepub fn from_document(doc: Value, source: &str) -> Result<Settings, String>
pub fn from_document(doc: Value, source: &str) -> Result<Settings, String>
Type a settings document. source names it in errors.
Sourcepub fn instance_name(&self) -> String
pub fn instance_name(&self) -> String
The agent.name fallback chain: config › downward-API instance ›
hostname › agentd.
Sourcepub fn is_long_lived(&self) -> bool
pub fn is_long_lived(&self) -> bool
Whether this instance OUTLIVES a single run — it serves A2A or webhooks,
watches a goal, or owns a workflow with a long-lived start node
(loop/schedule/subscribe/signal/event/a2a/webhook).
This is the durability predicate (RFC 0025 §durability, RFC 0033 §5): a
job-shaped run can lose its state and simply be re-run, an instance that
keeps running cannot. Two callers need the same answer — load, which
defaults such an instance to the file store, and validate, which
refuses an EXPLICIT store.kind: none here — so the predicate lives in
one place rather than being spelled twice and drifting.