Agent inbox
Every run that needs you, is running or is done, in one list.
The agent inbox puts every run in one list, grouped by what it needs: Needs you, Running and Done. A running run shows a live clock; one that waits for you offers Approve, and one that failed turns red and offers Retry. When a run changes group it glides to its new place, an empty group goes away, and the line beside the title says what is left.
Usage
<!-- include core.css + agent-inbox.css -->
<div class="aib panel">
<div class="aib-h"><b>Inbox</b><span class="muted aib-st" aria-live="polite"></span></div>
<div class="aib-gs"></div>
</div>
<!-- agent-inbox.js fills the groups and drives the clocks and the glide -->Properties
| Name | Type | Description |
|---|---|---|
runs | InboxRun[] | Every run to show, each in its group. |
onApprove | (id) => void | Adds Approve to the runs that need you and haven't failed. |
onRetry | (id) => void | Adds Retry to the runs that failed. |
title | string | The inbox's name. Defaults to "Inbox". |
status | string | The line beside the title. Defaults to "2 need you", then "2 running", then "All clear · 4 done today". |
run.id | string | Keeps a run's row when it moves group. |
run.title | string | What the run is for, like "Publish the pricing page". |
run.agent | string | Which agent runs it. Its first letter marks the row. |
run.color | string | The mark's fill, like var(--dm-av-l). Defaults to the accent. |
run.group | needs | running | done | Which part of the inbox the run sits in. |
run.detail | string | The line under the title: why it needs you, or what it is doing now. |
run.failed | boolean | Turns the row red and offers Retry instead of Approve. |
run.why | string | More on the failure, in a tooltip on its detail line. |
run.seconds | number | How long a running run has gone. Its clock counts on from here. |
run.ended | string | When a finished run ended, like "12m ago". |
Theming
Works in light and dark (data-theme="dark") and in the Soft style (data-style="soft"). The panel
sits on a surface with the card shadow; a failed run tints with the bad tokens, the running clock and
the Approve pill use the accent, and the avatar marks take the shared --dm-av-* colours with their
own ink. In Soft the panel and its rows are rounder.