pub struct OutputMessageStartedData {
pub reasoning_state: Option<ReasoningState>,
pub turn_id: TurnId,
pub message_id: MessageId,
pub model: Option<String>,
pub iteration: Option<u32>,
pub phase: Option<ExecutionPhase>,
}Expand description
Data for output.message.started event
Emitted when the LLM starts generating a response. UI can show a “thinking” indicator until output.message.delta or output.message.completed events arrive.
Fields§
§reasoning_state: Option<ReasoningState>Prepared Astra effort state, persisted before the provider call so an interrupted worker can resume without changing the request baseline.
turn_id: TurnIdTurn ID this output belongs to
message_id: MessageIdStable public ID for this assistant message across its streaming lifecycle.
This is the same identifier as OutputMessageCompletedData.message.id.
model: Option<String>Optional model name being used
iteration: Option<u32>Current iteration number within this turn (1-based). Useful for UI to show progress during multi-step tool-calling flows.
phase: Option<ExecutionPhase>Best-effort streamed phase hint (EVE-774).
None means “not yet classified — treat as ordinary assistant text”,
NEVER “thinking”. A missing/unknown phase must fall back to the
assistant-text channel, never the reasoning channel. Only populated when
the provider stream reveals a native phase before this event is emitted;
today output.message.started is emitted before the LLM call, so this is
generally None at start. The authoritative classification remains the
completed Message.phase. See knowledge/execution/events.md.
Trait Implementations§
Source§impl Clone for OutputMessageStartedData
impl Clone for OutputMessageStartedData
Source§fn clone(&self) -> OutputMessageStartedData
fn clone(&self) -> OutputMessageStartedData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more