pub enum UserEvent {
Progress {
text: String,
},
Structured {
event_type: String,
data: Value,
},
ToolPartialResult {
tool_call_id: String,
content: String,
is_partial: bool,
},
Notice {
kind: NoticeKind,
source: String,
text: String,
},
}Expand description
Plan / user lifecycle event types surfaced to consumers. User-space events produced by tools during execution.
Tools send these through ToolContext::emit_user_event(). The framework
wraps them in RuntimeEvent::UserEvent before delivering to external
consumers.
Variants§
Progress
Tool progress notification.
Structured
User-defined structured event for custom business semantics.
ToolPartialResult
Tool partial result — emitted during long-running tool execution.
is_partial: true means more output is coming; false means this is the final chunk.
Notice
Display-only notice from an engine mechanism (guard degradation,
reaper, …). text is a mechanism-level English fact; product layers
may rewrite it per source. source is a String (not &'static str)
because UserEvent must deserialize across process boundaries.