pub struct DaemonDefinition {Show 17 fields
pub name: String,
pub goal: String,
pub tools: Vec<String>,
pub memory_ref: String,
pub strategy: String,
pub on_stuck: String,
pub shield_ref: String,
pub window_ref: String,
pub budget: Option<BudgetBlock>,
pub max_tokens: Option<i64>,
pub max_time: String,
pub max_cost: Option<f64>,
pub listeners: Vec<ListenStep>,
pub requires_capabilities: Vec<String>,
pub loc: Loc,
pub leading_trivia: Vec<Trivia>,
pub trailing_trivia: Vec<Trivia>,
}Fields§
§name: String§goal: String§tools: Vec<String>§memory_ref: String§strategy: String§on_stuck: String§shield_ref: String§window_ref: Stringv2.27.0 — the window: temporal binding (a window primitive name,
v2.27.0). When set, the supervisor evaluates the bound window before
claiming a scheduled tick: inside ⇒ fire; outside ⇒ skip/warn/defer
per the window’s on_outside. Empty for daemons with no temporal guard.
budget: Option<BudgetBlock>v2.28.0 — the budget { … } linear-effect rate limit. When set, each
on Tool(X) quota gates that tool’s dispatch on a renewable token bucket
(the v2.28.0 RateLease): a call consumes a token, exhaustion applies
on_exhausted. None for daemons with no effect budget.
max_tokens: Option<i64>§max_time: String§max_cost: Option<f64>§listeners: Vec<ListenStep>v1.6.0 D4 — listen blocks captured for type-checker validation (typed-channel ref + dual-mode deprecation warning). Pre-v1.6.0 the parser discarded these structurally; we now retain them so 13.b/13.f can validate emit/publish/discover inside listener bodies and surface D4 string-topic warnings.
requires_capabilities: Vec<String>v2.4.0 — the capability scope a daemon’s runs are confined to
(requires: [cap, …], the same closed slug grammar as axonendpoint requires:). A scheduled (cron) daemon MUST declare this (it is a
standing autonomous privilege); the enterprise supervisor mints a
per-run principal scoped to EXACTLY these capabilities (least privilege,
v2.4.0). Empty for event-only daemons / pre-v2.4.0 daemons.
loc: Loc§leading_trivia: Vec<Trivia>v1.5.2 — leading comment trivia attached to this declaration (comments preceding the declaration’s first token, since the previous declaration or file start). Empty by default.
trailing_trivia: Vec<Trivia>v1.5.2 — trailing comment trivia (same line as the declaration’s last effective token). Empty by default.