pub async fn run_session_turn(
runtime: &mut Runtime,
messages: &mut Vec<SharedMessage>,
allowance: &SessionAllowance<'_>,
role: &TurnBudget,
totals: &mut SessionTotals,
session_start: Instant,
interrupted: &Arc<AtomicBool>,
on_event: impl FnMut(&StreamEvent, &SessionTotals),
) -> TurnReportExpand description
One turn of a watcher session, as synaps agent runs it: the role
budget narrowed to what the session has left.