A
assistant-ui
/
assistant-ui
/
components
Files
Code
Info
Assistant Modal
assistant-modal
Floating chat bubble for support widgets and help desks.
Assistant Sidebar
assistant-sidebar
Side panel chat for copilot experiences and inline assistance.
Attachment
attachment
Attach files from the composer and view them inside messages.
Composer Trigger Popover
composer-trigger-popover
Character triggered picker for @ mentions, / commands, and similar popovers.
Context Display
context-display
Token usage against a model's context window as a ring, bar, or text, with a hover popover.
Conversation Map
conversation-map
Runtime-backed thread rail: a tick per turn, the turn being read marked and the ones on screen deepened, a hover preview, and a click that scrolls there.
Directive Text
directive-text
Render mention directives as inline chips in user messages.
Activity graph
elements-activity-graph
A half-year of runs as a calendar of cells, dense where the work was.
Agent card
elements-agent-card
Who you are about to talk to: its skills, its model, and the endpoint behind it.
Handoff
elements-agent-handoff
Control passing between agents, with the reason and what came along.
Agent plan
elements-agent-plan
A checklist the agent works through, with progress you can glance.
Agent status
elements-agent-status
One pill that always answers: what is it doing, and for how long.
Approval card
elements-approval-card
Human in the loop: the agent asks before it runs anything with side effects.
Artifact card
elements-artifact-card
A generated document as a tangible object, written live and versioned.
Background runs
elements-background-inbox
Work still going somewhere else, and the results waiting to be collected.
Canvas
elements-canvas-split
The thread steps aside and the document takes the room, still being written as you read.
Chart
elements-chart
Area, line, and bars, with points landing one at a time as the series streams in.
Chat panel
elements-chat-panel
The whole family working together: a message, a pause, a streamed reply.
Checkpoints
elements-checkpoint-history
Points you can fall back to, with what each one would give back.
Code diff
elements-code-diff
A unified diff with tinted additions and removals, sized for chat.
Code runner
elements-code-runner
A snippet with a run button, and the output it produced attached below it.
Command palette
elements-command-palette
Everything the app can do, one keystroke away and grouped by where it acts.
Comparison
elements-comparison-card
Two options weighed side by side, with the pick named and argued.
Composer
elements-composer
The unified input: attachments, commands, mentions, models, voice, and context in one surface.
Computer use
elements-computer-use
The screen the agent is driving, with a cursor trail and what it is doing right now.
Confidence
elements-confidence-marker
Which claims came from a source, which were inferred, and which are guesses.
Connection state
elements-connection-state
The socket drops, the run keeps going on the server, and the stream is picked back up.
Context breakdown
elements-context-breakdown
Where the window actually went: prompt, tools, files, conversation, and what's left.
Context Display Core
elements-context-display
The props-driven context usage display: ring, bar, and text presets with the usage popover, no runtime required.
Conversation map
elements-conversation-map
A rail of the whole thread: one tick per turn, the turn being read marked and the ones on screen deepened, and a hover preview of what it says.
Search in conversation
elements-conversation-search
Find inside a long thread, with every hit marked down the scrollbar.
Cost meter
elements-cost-meter
What the run spent, split by model, against the session total.
Data table
elements-data-table
A small comparison table the model can answer with directly.
Timestamps
elements-day-separator
Chronology in a long thread: days marked, times on hover.
Diagram
elements-diagram
A drawn answer with zoom, reset, and a full-bleed view; you hand it the rendered graphic.
Directive Text
elements-directive-text
The props-driven directive chip renderer: bring your own formatter, no runtime required.
Document reference
elements-document-reference
A document the answer leans on, with the quoted passage and the page to jump to.
Draft restore
elements-draft-restore
Come back to a thread and the sentence you never sent is still waiting.
Edit a sent message
elements-edit-message
Rewrite a turn in place, told up front how many replies the edit throws away.
Elicitation form
elements-elicitation-form
A server pausing mid-tool-call to ask you for the fields it still needs.
Empty state
elements-empty-state
The first screen: a greeting, three ways in, and the composer front and center.
Error state
elements-error-state
A quiet failure banner with a retry path, not a modal in your face.
Feedback dialog
elements-feedback-dialog
A thumbs-down that asks why, so the signal arrives with a reason attached.
File tree
elements-file-tree
Everything a run touched, as a tree, with the churn spelled out per file.
Flow graph
elements-flow-graph
Work as a graph rather than a list: branches that fan out and rejoin.
Guardrail notice
elements-guardrail-notice
A refusal in its own shape, with the nearest thing it can do instead.
Image generation
elements-image-generation
A dot grid holds the frame while the image resolves out of a blur.
Inline citation
elements-inline-citation
Numbered references inside a sentence, each with a hover preview of its source.
Long job
elements-job-progress
Work measured in minutes: weighted stages, an ETA, and a way out.
Launcher
elements-launcher-bubble
The floating entry point, and the panel it opens into.
Loading state
elements-loading-state
A pixel matrix that keeps time while the model has nothing to show yet.
Map
elements-map-answer
A location answer: pins, a route between them, and the list they came from.
Math
elements-math-block
Rendered expressions with the working shown, one step at a time.
Server panel
elements-mcp-server-panel
Which servers are connected, what each one brought, and which is still waiting on you.
Memory
elements-memory-chips
What it now remembers about you, written during the turn and removable.
Mermaid Diagram
elements-mermaid-diagram
The props-driven Mermaid renderer: zoom overlay, skeleton, and error fallback, no runtime required.
Message actions
elements-message-actions
Copy, rate, and regenerate. Each action confirms itself with a small state change.
Attachments in a message
elements-message-attachment
Files as received rather than staged: an image to open, a document with its page count.
Message branches
elements-message-branches
Navigate between regenerated versions of the same answer without losing your place.
Message pair
elements-message-pair
A user bubble and a streaming assistant reply, with actions that appear on hover.
Message queue
elements-message-queue
Turns you typed while a run was in flight, stacked and cancelable until it finishes.
Timing footer
elements-message-timing
What the turn cost: time to first token, throughput, tokens, money.
Mobile composer
elements-mobile-composer
The bottom sheet: keyboard-aware, quick actions above, thumb-sized targets.
Model picker
elements-model-picker
The full list rather than the rail: grouped by family, priced, with what each one can do.
Model Selector
elements-model-selector
The props-driven model picker: search, groups, and reasoning effort levels, no runtime required.
Number ticker
elements-number-ticker
Digits that roll into place as a count updates in real time.
Onboarding
elements-onboarding
First run: three moves that teach what this assistant is actually for.
Permission grant
elements-permission-grant
Granting a capability rather than approving one action, with the reach spelled out.
Prompt library
elements-prompt-library
Prompts you saved, searchable, with their variables shown before you insert one.
Quota
elements-quota-banner
How much is left, when it comes back, and the way to get more.
Quote reply
elements-quote-reply
Select a phrase in an answer and a toolbar offers to quote, explain, or rewrite it.
Elements Range
elements-range
Range normalization for the elements family: clamping a caller's counts, indexes, and shares to what the element can render.
Read aloud
elements-read-aloud
An answer played back, the spoken word lit as it goes, speed under your thumb.
Reasoning Panel
elements-reasoning
The props-driven reasoning disclosure: streaming preview, fades, and variants, no runtime required.
Reasoning effort
elements-reasoning-effort
How hard to think, and how much of that budget the run actually spent.
Reasoning panel
elements-reasoning-panel
A collapsible trace that streams reasoning steps along a timeline, then settles into a summary.
Recommendation card
elements-recommendation-card
The agent proposes a change with its confidence, and waits for a yes.
Regenerate with
elements-regenerate-menu
Fork the same turn to a different model instead of rolling the same dice.
Research report
elements-research-report
An outline that fills in section by section, each carrying the sources behind it.
Retrieval chunks
elements-retrieval-chunks
The passages a retrieval answer stands on, scored, before the answer itself arrives.
Reviewable diff
elements-reviewable-diff
The same diff, but each hunk is a decision: keep it, discard it, apply what survived.
Schedule
elements-schedule-card
A run that repeats on its own, with its cadence and how it has been doing.
Score breakdown
elements-score-breakdown
A verdict with its arithmetic shown: criteria, weights, and what pulled it down.
Scroll anchor
elements-scroll-anchor
Streaming never steals your scroll position; a pill offers the way back down.
Settings
elements-settings-panel
Model, system prompt, temperature, and what the assistant is allowed to do.
Shared conversation
elements-shared-conversation
A read-only transcript someone sent you, with a way to pick it up yourself.
Shiki Highlighter
elements-shiki-highlighter
The props-driven Shiki code block: streaming-aware highlighting, no runtime required.
Sources
elements-sources
Citations collapsed into a pill, expanding into scannable source cards.
Speaker identity
elements-speaker-identity
Who is talking, once a thread holds more than a user and one model.
Spec sheet
elements-spec-sheet
The most common structured answer after a table: one object, labeled.
Stopped run
elements-stopped-run
You pressed stop. The half-written answer stays, and continuing is one tap away.
Streaming text
elements-streaming-text
Tokens arrive softly: the newest words land in blue and settle into ink.
Subagent list
elements-subagent-list
Parallel workers with their own progress, models, and completions.
Follow-up suggestions
elements-suggestions
Prompt pills that stagger in after a reply and invite the next turn.
Elements Surfaces
elements-surfaces
Shared design language for the elements family: surface, ink, and motion class recipes plus the shimmer utility.
Terminal block
elements-terminal-block
Command output that streams line by line and ends with an exit status.
Thinking indicator
elements-thinking-indicator
A live status line that names what the agent is doing right now, with elapsed time.
Thread list
elements-thread-list
Conversation history with unread marks and actions that wait for hover.
Thread search
elements-thread-search
History you can actually get back into: pinned first, then grouped by when.
Timeline
elements-timeline
Events on a time axis, with what already happened and what is still coming.
Todo list
elements-todo-list
The agent's own working list, rewritten mid-run as it discovers what else is needed.
Tool call
elements-tool-call
One tool invocation with its request and result tucked behind a disclosure.
Tool failure
elements-tool-error
One call failed. The error, the attempt count, and a retry that doesn't restart the turn.
Parallel tools
elements-tool-group
Calls that went out together, collapsed to one row until you want the detail.
Tool timeline
elements-tool-timeline
A whole working session summarized as verbs, targets, and file stats.
Trace waterfall
elements-trace-waterfall
Every span in a run on one time axis, nested, so you can see where it actually went.
Typing indicator
elements-typing-indicator
The classic three dots, tuned to read as presence rather than noise.
Voice Orb
elements-voice
The props-driven voice orb: five session states and four palettes, no runtime required.
Voice conversation
elements-voice-conversation
A live call: the orb tracks your voice, the caption names the turn, the transcript follows.
Web preview
elements-web-preview
Chrome for a sandboxed preview: a URL bar, reload, and open-in-new around a frame you isolate.
Web search
elements-web-search
A search query and its results landing one by one as the agent reads.
File
file
Display file parts with icon, name, size, and a download button.
Follow Up Suggestions
follow-up-suggestions
Prompt chips rendered from runtime generated follow up suggestions.
Generative UI
generative-ui
Styled component library for rendering generative UI output.
Heat Graph
heat-graph
Activity heat map with month and weekday labels.
Image
image
Display image parts with preview, loading states, and a fullscreen dialog.
Logos
logos
Model provider logos as inline SVG components.
Markdown Text
markdown-text
Render assistant markdown with headings, lists, links, and code blocks.
MCP Config Dialog
mcp-config
Dialog listing MCP connectors and custom servers, with OAuth and bearer auth controls.
Mermaid Diagram
mermaid-diagram
Render Mermaid diagrams in messages, including while they stream.
Message Timing
message-timing
Badge with streaming stats: time to first token, total time, and tokens per second.
Model Selector
model-selector
Model picker with reasoning effort levels, search, and runtime integration.
Quote
quote
Select and quote message text with a floating toolbar and a composer preview.
Reasoning
reasoning
Collapsible panel for assistant reasoning and thinking content.
Shiki Highlighter
shiki-highlighter
Code block highlighting powered by react-shiki.
Sources
sources
Display URL sources with favicon, title, and an external link.
Syntax Highlighter
syntax-highlighter
Code block highlighting powered by react-syntax-highlighter.
Thread
thread
Chat container with message list, composer, auto scroll, and accessibility built in.
Thread List
thread-list
Sidebar or dropdown for switching conversations, with search and active selection.
Thread List Sidebar
threadlist-sidebar
Sidebar shell that hosts the thread list beside a thread.
Tool Fallback
tool-fallback
Default renderer for tool calls that have no dedicated UI.
Tool Group
tool-group
Collapsible wrapper around consecutive tool calls.
Tooltip Icon Button
tooltip-icon-button
Icon button with an accessible tooltip label, shared across the assistant UI components.
Voice
voice
Realtime voice session controls with connect, mute, and a status indicator.
Select a component to view its code
Click on any item in the sidebar to get started
Select a component to view its information
Assistant Modal
assistant-modal
Floating chat bubble for support widgets and help desks.
Assistant Sidebar
assistant-sidebar
Side panel chat for copilot experiences and inline assistance.
Attachment
attachment
Attach files from the composer and view them inside messages.
Composer Trigger Popover
composer-trigger-popover
Character triggered picker for @ mentions, / commands, and similar popovers.
Context Display
context-display
Token usage against a model's context window as a ring, bar, or text, with a hover popover.
Conversation Map
conversation-map
Runtime-backed thread rail: a tick per turn, the turn being read marked and the ones on screen deepened, a hover preview, and a click that scrolls there.
Directive Text
directive-text
Render mention directives as inline chips in user messages.
Activity graph
elements-activity-graph
A half-year of runs as a calendar of cells, dense where the work was.
Agent card
elements-agent-card
Who you are about to talk to: its skills, its model, and the endpoint behind it.
Handoff
elements-agent-handoff
Control passing between agents, with the reason and what came along.
Agent plan
elements-agent-plan
A checklist the agent works through, with progress you can glance.
Agent status
elements-agent-status
One pill that always answers: what is it doing, and for how long.
Approval card
elements-approval-card
Human in the loop: the agent asks before it runs anything with side effects.
Artifact card
elements-artifact-card
A generated document as a tangible object, written live and versioned.
Background runs
elements-background-inbox
Work still going somewhere else, and the results waiting to be collected.
Canvas
elements-canvas-split
The thread steps aside and the document takes the room, still being written as you read.
Chart
elements-chart
Area, line, and bars, with points landing one at a time as the series streams in.
Chat panel
elements-chat-panel
The whole family working together: a message, a pause, a streamed reply.
Checkpoints
elements-checkpoint-history
Points you can fall back to, with what each one would give back.
Code diff
elements-code-diff
A unified diff with tinted additions and removals, sized for chat.
Code runner
elements-code-runner
A snippet with a run button, and the output it produced attached below it.
Command palette
elements-command-palette
Everything the app can do, one keystroke away and grouped by where it acts.
Comparison
elements-comparison-card
Two options weighed side by side, with the pick named and argued.
Composer
elements-composer
The unified input: attachments, commands, mentions, models, voice, and context in one surface.
Computer use
elements-computer-use
The screen the agent is driving, with a cursor trail and what it is doing right now.
Confidence
elements-confidence-marker
Which claims came from a source, which were inferred, and which are guesses.
Connection state
elements-connection-state
The socket drops, the run keeps going on the server, and the stream is picked back up.
Context breakdown
elements-context-breakdown
Where the window actually went: prompt, tools, files, conversation, and what's left.
Context Display Core
elements-context-display
The props-driven context usage display: ring, bar, and text presets with the usage popover, no runtime required.
Conversation map
elements-conversation-map
A rail of the whole thread: one tick per turn, the turn being read marked and the ones on screen deepened, and a hover preview of what it says.
Search in conversation
elements-conversation-search
Find inside a long thread, with every hit marked down the scrollbar.
Cost meter
elements-cost-meter
What the run spent, split by model, against the session total.
Data table
elements-data-table
A small comparison table the model can answer with directly.
Timestamps
elements-day-separator
Chronology in a long thread: days marked, times on hover.
Diagram
elements-diagram
A drawn answer with zoom, reset, and a full-bleed view; you hand it the rendered graphic.
Directive Text
elements-directive-text
The props-driven directive chip renderer: bring your own formatter, no runtime required.
Document reference
elements-document-reference
A document the answer leans on, with the quoted passage and the page to jump to.
Draft restore
elements-draft-restore
Come back to a thread and the sentence you never sent is still waiting.
Edit a sent message
elements-edit-message
Rewrite a turn in place, told up front how many replies the edit throws away.
Elicitation form
elements-elicitation-form
A server pausing mid-tool-call to ask you for the fields it still needs.
Empty state
elements-empty-state
The first screen: a greeting, three ways in, and the composer front and center.
Error state
elements-error-state
A quiet failure banner with a retry path, not a modal in your face.
Feedback dialog
elements-feedback-dialog
A thumbs-down that asks why, so the signal arrives with a reason attached.
File tree
elements-file-tree
Everything a run touched, as a tree, with the churn spelled out per file.
Flow graph
elements-flow-graph
Work as a graph rather than a list: branches that fan out and rejoin.
Guardrail notice
elements-guardrail-notice
A refusal in its own shape, with the nearest thing it can do instead.
Image generation
elements-image-generation
A dot grid holds the frame while the image resolves out of a blur.
Inline citation
elements-inline-citation
Numbered references inside a sentence, each with a hover preview of its source.
Long job
elements-job-progress
Work measured in minutes: weighted stages, an ETA, and a way out.
Launcher
elements-launcher-bubble
The floating entry point, and the panel it opens into.
Loading state
elements-loading-state
A pixel matrix that keeps time while the model has nothing to show yet.
Map
elements-map-answer
A location answer: pins, a route between them, and the list they came from.
Math
elements-math-block
Rendered expressions with the working shown, one step at a time.
Server panel
elements-mcp-server-panel
Which servers are connected, what each one brought, and which is still waiting on you.
Memory
elements-memory-chips
What it now remembers about you, written during the turn and removable.
Mermaid Diagram
elements-mermaid-diagram
The props-driven Mermaid renderer: zoom overlay, skeleton, and error fallback, no runtime required.
Message actions
elements-message-actions
Copy, rate, and regenerate. Each action confirms itself with a small state change.
Attachments in a message
elements-message-attachment
Files as received rather than staged: an image to open, a document with its page count.
Message branches
elements-message-branches
Navigate between regenerated versions of the same answer without losing your place.
Message pair
elements-message-pair
A user bubble and a streaming assistant reply, with actions that appear on hover.
Message queue
elements-message-queue
Turns you typed while a run was in flight, stacked and cancelable until it finishes.
Timing footer
elements-message-timing
What the turn cost: time to first token, throughput, tokens, money.
Mobile composer
elements-mobile-composer
The bottom sheet: keyboard-aware, quick actions above, thumb-sized targets.
Model picker
elements-model-picker
The full list rather than the rail: grouped by family, priced, with what each one can do.
Model Selector
elements-model-selector
The props-driven model picker: search, groups, and reasoning effort levels, no runtime required.
Number ticker
elements-number-ticker
Digits that roll into place as a count updates in real time.
Onboarding
elements-onboarding
First run: three moves that teach what this assistant is actually for.
Permission grant
elements-permission-grant
Granting a capability rather than approving one action, with the reach spelled out.
Prompt library
elements-prompt-library
Prompts you saved, searchable, with their variables shown before you insert one.
Quota
elements-quota-banner
How much is left, when it comes back, and the way to get more.
Quote reply
elements-quote-reply
Select a phrase in an answer and a toolbar offers to quote, explain, or rewrite it.
Elements Range
elements-range
Range normalization for the elements family: clamping a caller's counts, indexes, and shares to what the element can render.
Read aloud
elements-read-aloud
An answer played back, the spoken word lit as it goes, speed under your thumb.
Reasoning Panel
elements-reasoning
The props-driven reasoning disclosure: streaming preview, fades, and variants, no runtime required.
Reasoning effort
elements-reasoning-effort
How hard to think, and how much of that budget the run actually spent.
Reasoning panel
elements-reasoning-panel
A collapsible trace that streams reasoning steps along a timeline, then settles into a summary.
Recommendation card
elements-recommendation-card
The agent proposes a change with its confidence, and waits for a yes.
Regenerate with
elements-regenerate-menu
Fork the same turn to a different model instead of rolling the same dice.
Research report
elements-research-report
An outline that fills in section by section, each carrying the sources behind it.
Retrieval chunks
elements-retrieval-chunks
The passages a retrieval answer stands on, scored, before the answer itself arrives.
Reviewable diff
elements-reviewable-diff
The same diff, but each hunk is a decision: keep it, discard it, apply what survived.
Schedule
elements-schedule-card
A run that repeats on its own, with its cadence and how it has been doing.
Score breakdown
elements-score-breakdown
A verdict with its arithmetic shown: criteria, weights, and what pulled it down.
Scroll anchor
elements-scroll-anchor
Streaming never steals your scroll position; a pill offers the way back down.
Settings
elements-settings-panel
Model, system prompt, temperature, and what the assistant is allowed to do.
Shared conversation
elements-shared-conversation
A read-only transcript someone sent you, with a way to pick it up yourself.
Shiki Highlighter
elements-shiki-highlighter
The props-driven Shiki code block: streaming-aware highlighting, no runtime required.
Sources
elements-sources
Citations collapsed into a pill, expanding into scannable source cards.
Speaker identity
elements-speaker-identity
Who is talking, once a thread holds more than a user and one model.
Spec sheet
elements-spec-sheet
The most common structured answer after a table: one object, labeled.
Stopped run
elements-stopped-run
You pressed stop. The half-written answer stays, and continuing is one tap away.
Streaming text
elements-streaming-text
Tokens arrive softly: the newest words land in blue and settle into ink.
Subagent list
elements-subagent-list
Parallel workers with their own progress, models, and completions.
Follow-up suggestions
elements-suggestions
Prompt pills that stagger in after a reply and invite the next turn.
Elements Surfaces
elements-surfaces
Shared design language for the elements family: surface, ink, and motion class recipes plus the shimmer utility.
Terminal block
elements-terminal-block
Command output that streams line by line and ends with an exit status.
Thinking indicator
elements-thinking-indicator
A live status line that names what the agent is doing right now, with elapsed time.
Thread list
elements-thread-list
Conversation history with unread marks and actions that wait for hover.
Thread search
elements-thread-search
History you can actually get back into: pinned first, then grouped by when.
Timeline
elements-timeline
Events on a time axis, with what already happened and what is still coming.
Todo list
elements-todo-list
The agent's own working list, rewritten mid-run as it discovers what else is needed.
Tool call
elements-tool-call
One tool invocation with its request and result tucked behind a disclosure.
Tool failure
elements-tool-error
One call failed. The error, the attempt count, and a retry that doesn't restart the turn.
Parallel tools
elements-tool-group
Calls that went out together, collapsed to one row until you want the detail.
Tool timeline
elements-tool-timeline
A whole working session summarized as verbs, targets, and file stats.
Trace waterfall
elements-trace-waterfall
Every span in a run on one time axis, nested, so you can see where it actually went.
Typing indicator
elements-typing-indicator
The classic three dots, tuned to read as presence rather than noise.
Voice Orb
elements-voice
The props-driven voice orb: five session states and four palettes, no runtime required.
Voice conversation
elements-voice-conversation
A live call: the orb tracks your voice, the caption names the turn, the transcript follows.
Web preview
elements-web-preview
Chrome for a sandboxed preview: a URL bar, reload, and open-in-new around a frame you isolate.
Web search
elements-web-search
A search query and its results landing one by one as the agent reads.
File
file
Display file parts with icon, name, size, and a download button.
Follow Up Suggestions
follow-up-suggestions
Prompt chips rendered from runtime generated follow up suggestions.
Generative UI
generative-ui
Styled component library for rendering generative UI output.
Heat Graph
heat-graph
Activity heat map with month and weekday labels.
Image
image
Display image parts with preview, loading states, and a fullscreen dialog.
Logos
logos
Model provider logos as inline SVG components.
Markdown Text
markdown-text
Render assistant markdown with headings, lists, links, and code blocks.
MCP Config Dialog
mcp-config
Dialog listing MCP connectors and custom servers, with OAuth and bearer auth controls.
Mermaid Diagram
mermaid-diagram
Render Mermaid diagrams in messages, including while they stream.
Message Timing
message-timing
Badge with streaming stats: time to first token, total time, and tokens per second.
Model Selector
model-selector
Model picker with reasoning effort levels, search, and runtime integration.
Quote
quote
Select and quote message text with a floating toolbar and a composer preview.
Reasoning
reasoning
Collapsible panel for assistant reasoning and thinking content.
Shiki Highlighter
shiki-highlighter
Code block highlighting powered by react-shiki.
Sources
sources
Display URL sources with favicon, title, and an external link.
Syntax Highlighter
syntax-highlighter
Code block highlighting powered by react-syntax-highlighter.
Thread
thread
Chat container with message list, composer, auto scroll, and accessibility built in.
Thread List
thread-list
Sidebar or dropdown for switching conversations, with search and active selection.
Thread List Sidebar
threadlist-sidebar
Sidebar shell that hosts the thread list beside a thread.
Tool Fallback
tool-fallback
Default renderer for tool calls that have no dedicated UI.
Tool Group
tool-group
Collapsible wrapper around consecutive tool calls.
Tooltip Icon Button
tooltip-icon-button
Icon button with an accessible tooltip label, shared across the assistant UI components.
Voice
voice
Realtime voice session controls with connect, mute, and a status indicator.
Select a component to view its code
Click on any item in the sidebar to get started
Select a component to view its information