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: String§Fase 71.c — the window: temporal binding (a window primitive name,
§71.a). 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>§Fase 72.a — the budget { … } linear-effect rate limit. When set, each
on Tool(X) quota gates that tool’s dispatch on a renewable token bucket
(the §72.b 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>§λ-L-E Fase 13 D4 — listen blocks captured for type-checker validation (typed-channel ref + dual-mode deprecation warning). Pre-Fase 13 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>§Fase 52.d — 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,
§52.d). Empty for event-only daemons / pre-§52 daemons.
loc: Loc§leading_trivia: Vec<Trivia>Fase 14.b — 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>Fase 14.b — trailing comment trivia (same line as the declaration’s last effective token). Empty by default.