pub enum ProgressEvent {
StateTransition {
from: ExecutionStateTag,
to: ExecutionStateTag,
at: i64,
},
PauseRequested {
info: PauseInfo,
at: i64,
},
ResumeAccepted {
payload_kind: PauseKind,
at: i64,
},
Note {
title: Option<String>,
content: String,
at: i64,
},
LlmCallBegin {
query_id: String,
at: i64,
},
LlmCallEnd {
query_id: String,
usage: Option<TokenUsage>,
at: i64,
},
Tick {
phase: String,
at: i64,
},
}Expand description
An event emitted on the per-session broadcast channel.
All variants carry an at field (Unix timestamp in milliseconds).
The channel is emitted from crate::execution::ExecutionService implementations
inside the engine layer; multiple independent observers may subscribe via
crate::execution::ExecutionService::observe without affecting one another
(crux: Sink-free broadcast Progress fan-out).
§Serde
Uses #[serde(tag = "kind", rename_all = "snake_case")] internally tagged
representation, so JSON consumers see {"kind": "state_transition", ...}.
Variants§
StateTransition
The session transitioned from one state to another.
PauseRequested
The session entered a paused state and is waiting for LLM responses.
Fields
ResumeAccepted
A resume call was accepted and execution is continuing.
Fields
Note
A free-form diagnostic note from the engine.
Fields
LlmCallBegin
An LLM call was dispatched for the given query.
Fields
LlmCallEnd
An LLM call completed and a response was received.
Fields
usage: Option<TokenUsage>Token usage for this call, if reported.
Tick
A periodic heartbeat tick from the execution loop.
Trait Implementations§
Source§impl Clone for ProgressEvent
impl Clone for ProgressEvent
Source§fn clone(&self) -> ProgressEvent
fn clone(&self) -> ProgressEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more