Components / AI components / Conversation
ConversationExperimental alpha

Message

A readable home for each response.

Message preview

Which accounts need an owner review before archival?

Response complete

I found three accounts that need an owner review. Here’s the context to help you decide.

Response complete

Interactions use local sample data.

Usage and props

Display one user, assistant or system message. Supply plain text or ordered parts and resolve their references through sources, tools and attachments. Use renderTextPart to format text parts, or renderContent to replace the whole body. Provide stable message identity, role and revision.

valueMessageData
The id, role, state and revision, with either text or parts as its content.
sourcesreadonly Source[] (optional)
Source records matched to source parts by sourceId. Keep ids unique.
toolsreadonly ToolCallData[] (optional)
Tool records matched to tool parts by toolCallId. Keep ids unique.
attachmentsreadonly MessageAttachment[] (optional)
Attachment records matched by id and version, including access and preview data.
renderTextPart(part: TextMessagePart, variant: ComponentVariant<'StreamingResponse'>) => ReactNode (optional)
Render each text part, for example as Markdown. Keep the callback stable.
childrenReactNode (optional)
Content after the message body, such as MessageActions or extra attachments.
How state and callbacks work

These are the main props for the example. The package's TypeScript declarations include the full API.

Customize and use with a keyboard