Use stream() when your interface should show an agent’s response or tool activity while the run is still in progress. It starts the same resumable state machine as run() with a streaming model client.
Stream text
Read the result in more than one place
Stream consumers are replayable, so rendering, telemetry, and persistence code can consume the same run concurrently:
Choose a stream
getTextStream() yields answer text.
getReasoningStream() yields reasoning updates when the model provides them.
getItemsStream() yields typed AgentItem<TOutput> values for messages, reasoning, tool activity, errors, and final outputs.
getToolStream() yields tool activity.
getFullStream() yields complete runtime events.
Use cancel() to abort the run. Local tools receive cancellation through their runtime signal.
Tools implemented as async generators can publish preliminary results. These appear in the full stream as tool.preliminary_result events and remain attached to the completed step.
Last modified on July 26, 2026