StreamingReasoning
A model's reasoning (its "thinking"), shown alongside its reply.
While the model thinks, the reasoning is open under a "Thinking… 7s" header: a panel that grows with the thoughts, up to maxExpandedHeight, then keeps the newest in view, revealing new text smoothly as it arrives. When the model is done the view folds into "Thought for 12s" and its summary, unless the reader opened or closed it themselves, and tapping the header opens the whole reasoning again.
Reasoning can run to tens of kilobytes and grow many times a second, so the view only lays out what changes: the text is split into paragraphs that render lazily, and only the paragraph still being written is laid out again. Folding shrinks the panel in place, so whatever sits below it glides up with it instead of jumping.
StreamingReasoning(text = reasoning, isThinking = answer.isEmpty(), durationSeconds = 12.0)Parameters
The reasoning so far. Blank lines separate paragraphs, and inline Markdown (bold, italics, code and links) is rendered.
Whether the model is still thinking. While it is, the header counts the seconds and the reasoning streams into view.
The modifier to apply to the view.
How long the model has thought, shown as "Thought for 12s" once it is done.
A one-line summary shown beside the header once the model is done.
A note under the open reasoning, such as how long it is kept.
Whether the reasoning is open once the model is done.
Whether the reasoning is open while the model thinks.
How tall the reasoning grows before it scrolls.
The style of the reasoning. The header uses it in a medium weight.
The palette of the view.
Shows a reasoning step: its live text when the app has it, otherwise the step's preview, with its summary beside "Thought for 12s" once it is done.
In an AIConversation told the agent is thinking, the first step of the reply takes over from that thinking: its seconds count from when the question was asked. A first step that arrives already done, with the answer, opens to show its reasoning, then folds before the answer starts.
Parameters
The reasoning step.
The modifier to apply to the view.
The step's whole reasoning, when the app watched it live.
A note under the open reasoning, such as how long it is kept.
The style of the reasoning. The header uses it in a medium weight.
The palette of the view.