Gallery

@ljoukov/chat

Overview Routes and render surfacesChat Live thread demoComposer Spark-style input shellInput Autosize textareaMarkdown Rich text renderingMessage Attachments and message partsTask card Run state cardThread Full transcript surface
  1. Gallery
  2. /
  3. Chat
Chat in action

One public API driving a live assistant surface.

This route uses only the exported package primitives. The live thread stays primary while prompt presets, mocked attachments, and extension examples sit beside it.

Interactive thread

Send a prompt, attach mocked files, and watch the placeholder assistant reply resolve into structured content.

PDF briefing-pack.pdf Client brief

Show an embedded custom agent status card for this run.

Thinking

Choosing an embedded card instead of plain markdown so the live state stays visible in-thread.

Embedded card 72%
Analysis agent
The agent has already normalised the brief and is now reconciling the open blockers.

Collecting the final evidence bundle

Attached context pack
Generated a condensed plan
Waiting on one unresolved owner

This card is rendered through the customPart snippet prop, so app-specific surfaces can live inside the library thread without changing the base package.

Prompt ideas

Exercise task cards, markdown, and custom parts without changing the thread shell.

Assets and routes

Attachments, route links, and custom cards all stay in the same public data model.

Inspect related routes
Move to the focused route pages when you want to review message parts or full-thread states in isolation.
Inspect message states Inspect ChatView