pub fn process_stream_event(
event: StreamEvent,
messages: &mut Vec<SharedMessage>,
subagents: &mut Vec<SubagentTracker>,
queued_message: &mut Option<String>,
pending_events: &mut Vec<String>,
turn_baseline: usize,
) -> (EngineStreamEvent, StreamCompletion)Expand description
Convert a raw StreamEvent into an EngineStreamEvent. Also handles message history capture and returns completion signals.
messages — the conversation history (updated in place on MessageHistory)
subagents — tracked subagent states (updated in place)
queued_message — message queued during streaming (taken if stream completes)
pending_events — events buffered during streaming (drained on completion)
turn_baseline — messages.len() when this turn started; failure repair
may only remove messages appended at or after this index