Loading AgentsKit ecosystem navigation…
AgentsKit Chat
Components

Progress

Percent complete with optional status text. Component key `progress`.

View canonical Markdown

Progress

progress is display-only: a labelled progressbar (0–100) with optional status. No host events.

Live preview

Progress
Percent progress with optional status text.
progress

Uploading

Demos use docs host CSS. Package primitives are intentionally unstyled so your product theme owns the look.

When to use

  • Uploads, long tool runs, multi-step agent work the user should see
  • When you want polite live updates without inventing a custom panel

Prefer something else when

  • Tool name/status/args display → tool-call
  • User must act → use an interactive component

Props (schema)

FieldTypeNotes
labelstringProgress label
valuenumber 0–100Finite percent
statusstring?Optional status line

Frame example

code
{
  "protocol": "agentskit.chat.component",
  "version": 1,
  "type": "render",
  "componentKey": "progress",
  "instanceId": "progress-fixture",
  "props": {
    "label": "Upload",
    "value": 42,
    "status": "Uploading"
  },
  "fallback": {
    "kind": "progress",
    "summary": "Upload is 42% complete."
  }
}

Events

No events. This key is display-only — do not invent host callbacks.

Host wiring

Display-only — register the component so the frame resolves; no interact handler is required.

code
import { ProgressComponent, defineComponentManifest, defineChat } from '@agentskit/chat'

const definition = defineChat({
  id: 'app',
  components: defineComponentManifest([ProgressComponent]),
  chat: { adapter },
})

For agents

FieldValue
componentKeyprogress
ExportProgressComponent
Protocolagentskit.chat.component v1
Envelopetype: "render" + instanceId + props + fallback
Eventsnone (display-only)
Host callbacknone — display only
InteractionDo not emit user events for this key
FallbackAlways include fallback.kind + fallback.summary

Do not invent props or events outside the schema. Unknown keys and invalid props stay inert.

Shells

ShellNotes
React / Vue / Svelte / Solid / AngularSame frame; replaceable slots
React NativeAccessibility roles from the catalog definition
InkTerminal-safe fallback when interactive chrome is limited