
Search by name, tag, category or type
Source and install need .
pnpm dlx shadcn@latest add @assembli/decision-queueAn AI-first inbox as a queue of decisions: each email that needs you becomes the question it asks, with answers an agent already drafted, scheduled or filed. Pick with 1–9, send with ⌘↵, steer a draft in a sentence, put it off or hand it to an agent. Done items fold above with Undo, and decisionsToMarkdown gives agents the same queue as tool calls.
Other props pass through to the root element.
decisions*
Decision[]
agents
MailAgent[]
Default DEFAULT_AGENTS
focusedId
string | null
The decision in focus. Leave it out and the queue keeps its own, starting with the first pending one.
onFocusChange
(id: string | null) => void
onAction
(action: MailAction) => void
decide ({ option, draft, edited }), later ({ until }), hand_off ({ to, instruction }), steer ({ option, instruction }), open (ids: [threadId]), undo. All carry the decision id and a human…
onSteer
(decision: Decision, optionId: string, instruction: string, draft: string) => s…
Rewrites a draft from a one-line instruction. The steer field shows only when this is given.
onShowContext
(id: string) => void
Adds a Context button to the card, for layouts where the context panel is hidden.
header
React.ReactNode
Above the progress line: a greeting, a summary.
complete
React.ReactNode
Shown once nothing is pending.
footer
React.ReactNode
Below the queue.
laterOptions
LaterOption[]
Default LATER
actorName
string
Default "Ines Moreau"
The person deciding, for actor.
keyboard
boolean
Default true
Listen for shortcuts on the whole page (1–9, ⌘↵, E, H, D, O, J/K, Z). Defaults to true.
| Description | |||
|---|---|---|---|
| decisions* | Decision[] | – | |
| agents | MailAgent[] | DEFAULT_AGENTS | |
| focusedId | string | null | – | The decision in focus. Leave it out and the queue keeps its own, starting with the first pending one. |
| onFocusChange | (id: string | null) => void | – | |
| onAction | (action: MailAction) => void | – |
|
| onSteer | (decision: Decision, optionId: string, instruction: string, draft: string) => s… | – | Rewrites a draft from a one-line instruction. The steer field shows only when this is given. |
| onShowContext | (id: string) => void | – | Adds a Context button to the card, for layouts where the context panel is hidden. |
| header | React.ReactNode | – | Above the progress line: a greeting, a summary. |
| complete | React.ReactNode | – | Shown once nothing is pending. |
| footer | React.ReactNode | – | Below the queue. |
| laterOptions | LaterOption[] | LATER | |
| actorName | string | "Ines Moreau" | The person deciding, for |
| keyboard | boolean | true | Listen for shortcuts on the whole page (1–9, ⌘↵, E, H, D, O, J/K, Z). Defaults to true. |