Add collapsible Reasoning panel for assistant messages #220
+194
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Title
Add optional “Reasoning” panel for AI messages
Summary
This PR introduces a collapsible “Reasoning” panel for assistant messages. When a model/provider returns reasoning/thinking text (as metadata or content blocks), the UI can display it in a lightweight component without affecting the main message rendering.
What’s included
Reasoningmessage component:AssistantMessage(ai.tsx) to render the panel when reasoning is presentDemo
Component docs
<Reasoning />Props
content: stringThe reasoning text to display.
defaultExpanded?: boolean(default:false)Whether the panel starts expanded.
enabled?: boolean(default:true)Whether the panel is allowed to render at all.
Behavior
nullwhenenabledisfalseorcontentis empty.Usage
Notes