#[non_exhaustive]pub enum GenericCheckpointEvent {
LoopBoundaryCommitted {
next_model_round: u64,
usage: ModelUsage,
tool_call_count: u64,
last_response: String,
supporting_event_ids: Vec<AgentEventId>,
},
ModelAttemptStarted {
round: u64,
request_id: ModelRequestId,
request_digest: Digest,
max_output_tokens: Option<u64>,
context: GenericModelContextTrace,
},
ModelAttemptObserved {
round: u64,
request_id: ModelRequestId,
observation: GenericModelObservation,
},
ModelContextRejected {
round: u64,
request_id: ModelRequestId,
retry_number: u32,
input_budget_tokens: u64,
output_budget_tokens: Option<u64>,
error: ModelError,
},
ModelRetryScheduled {
round: u64,
request_id: ModelRequestId,
retry_number: u32,
delay_ms: u64,
error: ModelError,
observed_usage: Option<ModelUsage>,
},
WorkflowAttemptStarted {
round: u64,
request_id: ModelRequestId,
call_id: ModelToolCallId,
arguments_digest: Digest,
},
CommandCommitted {
command: AgentCommandEnvelope,
outcome: ProviderCommandOutcome,
approval_capability: Option<ApprovalCapability>,
},
ProviderEventsCommitted {
events: Vec<AgentEventDraft>,
},
}Expand description
Private facts required to distinguish a stable loop boundary from an
uncertain model attempt. ModelAttemptStarted is written before polling
ModelBackend::start.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
LoopBoundaryCommitted
ModelAttemptStarted
ModelAttemptObserved
ModelContextRejected
A definite capacity rejection, before any model usage or content. This closes the attempt without executing tools and durably reserves a smaller input or output budget, including after restart.
ModelRetryScheduled
A retry within an open logical attempt, before any non-usage event was observed. Recovery still treats an open attempt as interrupted; this fact does not authorize replaying a model request after process loss.
Fields
request_id: ModelRequestIderror: ModelErrorobserved_usage: Option<ModelUsage>Last reported usage snapshot of the failed attempt. Missing fields remain unknown; this does not certify the request’s final cost.
WorkflowAttemptStarted
Written before entering the Workflow DAG executor. Once present, a missing durable Workflow output is intentionally outcome-unknown and must never be reconstructed by rerunning the DAG.
CommandCommitted
Fields
command: AgentCommandEnvelopeoutcome: ProviderCommandOutcomeapproval_capability: Option<ApprovalCapability>ProviderEventsCommitted
Provider drafts are persisted before they enter the live Provider stream. A delivery batch may contain OutputCommitted followed by the single terminal DeliveryCommitted event.
Fields
events: Vec<AgentEventDraft>Trait Implementations§
Source§impl Clone for GenericCheckpointEvent
impl Clone for GenericCheckpointEvent
Source§fn clone(&self) -> GenericCheckpointEvent
fn clone(&self) -> GenericCheckpointEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GenericCheckpointEvent
impl Debug for GenericCheckpointEvent
Source§impl<'de> Deserialize<'de> for GenericCheckpointEvent
impl<'de> Deserialize<'de> for GenericCheckpointEvent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for GenericCheckpointEvent
impl PartialEq for GenericCheckpointEvent
Source§impl Serialize for GenericCheckpointEvent
impl Serialize for GenericCheckpointEvent
impl StructuralPartialEq for GenericCheckpointEvent
Auto Trait Implementations§
impl Freeze for GenericCheckpointEvent
impl RefUnwindSafe for GenericCheckpointEvent
impl Send for GenericCheckpointEvent
impl Sync for GenericCheckpointEvent
impl Unpin for GenericCheckpointEvent
impl UnsafeUnpin for GenericCheckpointEvent
impl UnwindSafe for GenericCheckpointEvent
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.