Activity
Host-owned activity dots — the same language as workspace status rows and CenterDock tabs. Use ActivityGlyph in your own panel / modal content when you want that signal; use setActivity / bindActivity (or workspace status activity) when pinning it onto Silo chrome.
Extensions pick a kind only. Color and motion are fixed per kind (pinned light/dark palette — not --silo-color-* theme accents). Never invent a spinner or recolor the glyph.
workingreadywarnerroromit (neutral)
tsx
import { ActivityGlyph, type Activity } from "@silo-code/sdk";
<ActivityGlyph activity="working" size="md" />
<ActivityGlyph activity="ready" />
<ActivityGlyph activity="warn" />
<ActivityGlyph activity="error" />
<ActivityGlyph size="sm" /> // omit activity → gray neutral| Prop | Type | Default | Notes |
|---|---|---|---|
activity | "working" | "ready" | "warn" | "error"? | — | Omit only for the gray neutral fallback |
size | "sm" | "md" | "sm" | sm ≈ workspace rows (6px); md ≈ tabs (8px) |
Kinds
| Kind | Means | Look |
|---|---|---|
working | In progress | Blue dot + expanding rings |
ready | Available / waiting for input | Green subtle throb |
warn | Needs caution | Amber static |
error | Failed | Red static |
| (omit) | Neutral / unconfirmed | Gray static — workspace status rows only; in panels prefer omitting the glyph |
These four are the whole vocabulary — never invent a fifth activity tint. For text pills (Installed, Update available), use Badge instead.
vs Badge
| Activity | Badge | |
|---|---|---|
| Shape | Dot (+ motion) | Text pill |
| Color | Host-fixed per kind | Tone or arbitrary identity color |
| Typical use | Process / agent state | Labels, counts, provenance |
Projecting agent state
tsx
import { ActivityGlyph, activityFromAgent } from "@silo-code/sdk";
const activity = activityFromAgent(agent.activity); // null for none / dead
{
activity && <ActivityGlyph activity={activity} size="sm" />;
}AgentActivity | UI Activity |
|---|---|
working | working |
idle | ready |
error | error |
none / dead | no glyph |
See also
- Tab adornments —
setActivity/bindActivityon editor & terminal tabs ctx.workspacesstatus —activityon status rows- ADR 0030