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.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DaemonDefinition
impl RefUnwindSafe for DaemonDefinition
impl Send for DaemonDefinition
impl Sync for DaemonDefinition
impl Unpin for DaemonDefinition
impl UnsafeUnpin for DaemonDefinition
impl UnwindSafe for DaemonDefinition
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more