HumanInputRequest
Canonical 'agent needs a human' surface unifying the AG-UI interrupt model and the A2A input-required TaskState behind a protocol adapter prop. Validation-gold frame (ReviewRequestCard treatment); response buttons meet the 44px touch-target floor.
import { HumanInputRequest } from "@nodus/design-system/patterns"Props
| Prop | Type | Default | Description |
|---|---|---|---|
sourcereq | 'ag-ui' | 'a2a' | — | Protocol adapter: AG-UI interrupt or A2A input-required task. |
titlereq | string | — | What the agent is asking. |
payloadreq | ReactNode | — | Renderable summary of the interrupt/task payload. |
options | Array<{ label: string; value: string }> | — | Response choices. Defaults to APPROVE / DENY when omitted. |
onRespond | (value: string) => void | — | Called with the chosen option value. |
statusreq | 'open' | 'answered' | 'expired' | — | Request lifecycle state — answered/expired render a collapsed resolution row. |
sourcerequired'ag-ui' | 'a2a'Default —Protocol adapter: AG-UI interrupt or A2A input-required task.
titlerequiredstringDefault —What the agent is asking.
payloadrequiredReactNodeDefault —Renderable summary of the interrupt/task payload.
optionsArray<{ label: string; value: string }>Default —Response choices. Defaults to APPROVE / DENY when omitted.
onRespond(value: string) => voidDefault —Called with the chosen option value.
statusrequired'open' | 'answered' | 'expired'Default —Request lifecycle state — answered/expired render a collapsed resolution row.
This component was designed to express:
Explore Related
Card surface for human review requests from an agent. Shows the decision context, confidence, urgency level, and approve/reject actions.
Multi-step consent wizard with step indicator
Queue of pending human approvals with priority ordering
Badge for the nine A2A protocol TaskStates (submitted, working, input-required, auth-required, completed, failed, canceled, rejected, unknown). Extends the StateBadge anatomy with protocol-grouped semantic colors; exports a taskStateGroup helper for branching on active/interrupted/terminal.