Payload of a companion.typing event — an activity indicator bracketing the
model work of a turn: active:true when the companion starts working,
active:false when it emits its reply or pauses for an app tool result. It
spans the whole turn — the tool-loop / thinking phase BEFORE the first text
delta, which onDelta can't observe — so a host can show a "typing…" state
uniformly across streaming and non-streaming replies. Advisory: a lost event
never affects the turn; the terminal companion.message is authoritative.
Payload of a
companion.typingevent — an activity indicator bracketing the model work of a turn:active:truewhen the companion starts working,active:falsewhen it emits its reply or pauses for an app tool result. It spans the whole turn — the tool-loop / thinking phase BEFORE the first text delta, whichonDeltacan't observe — so a host can show a "typing…" state uniformly across streaming and non-streaming replies. Advisory: a lost event never affects the turn; the terminalcompanion.messageis authoritative.