chat

chat-message

Role-aware message bubbles in a stick-to-bottom scroll list — user and assistant roles render differently. Assistant messages render markdown via ChatMarkdown; an optional thinking block shows reasoning. Streaming messages show a live cursor.

you

Where do generated images get stored, and how are they served?

assistant

Here's what I found — a few load-bearing points:

  1. The store is content-addressed, so identical bytes dedupe.
  2. See the artifact spec for the digest rules.
const output = getToolOutputData(part)
if (!output?.url) return <ToolCall {...props} />
assistant

Streaming a reply right now…

Three messages: a user question, an assistant reply with a reasoning block, and a streaming reply. The list sticks to bottom.

Installation

import from @workspace/chat module-owned, not registry-installable

Usage

ChatMessage: ChatList · ChatMessage