Message

Present user, assistant, and system output without adding identity chrome to every turn.

Summarize what changed in our billing API and flag the migration work.

Billing API v2

The release separates invoice adjustments from payment collection and replaces account_id with customer_id.

  • Update webhook handlers for invoice.adjusted.
  • Backfill customer_id before switching reads.
  • Keep v1 retries active during the seven-day overlap.

Main migration risk: consumers that infer payment state from invoice updates.

Installation

Copy the command below and run it in your terminal.

bunx @sivir-ui/svelte add message

Usage

Content adapts its layout to from. Use status for streaming or failed output, and give every icon-only action an accessible label.

import * as Message from '@sivir-ui/svelte/components/message';

<Message.Root from="assistant" status="idle">
  <Message.Content>
    I found three sources that agree on the release date.
  </Message.Content>
  <Message.Actions aria-label="Assistant response actions">
    <!-- Add labeled actions such as copy or rate -->
  </Message.Actions>
</Message.Root>

Examples

Use role and status to communicate structure before adding custom presentation.

Role variants

The deployment is healthy. Error rate and p95 latency are both below the rollback threshold.
Keep monitoring until the 30-minute mark.
Context compacted after 18 messages. Deployment events and decisions were preserved.

Streaming and error states

The first two regions are healthy. I’m checking the remaining edge locations and

Failed

The warehouse connection closed before the query completed. Retry when the connection is available.