registries / task
@ekairos-task
Typed human work inside AI workflows. A workflow stops, a person decides, the outcome is validated and durable. This registry will ship that decision surface for @ekairos/tasks.
openTask creates or reuses a durable task, idempotent by key.
awaitOutcome blocks the workflow until a typed outcome exists.
decideTask validates the outcome against its schema and closes.
cancelTask / failTask close without a successful outcome.
setup
The package owns state and validation. The registry owns the panel.
Assignment, approvers, and notifications stay in your product domain — exactly like the approval flows already running in production. The installable UI only renders the decision.
{
"registries": {
"@ekairos-task": "https://registry.ekairos.dev/r/task/{name}.json"
}
}planned items
task-decision-panel
TaskDecisionPanel
Decision controls generated from the outcome schema — approve, reject, comment, typed fields.
shadcn add @ekairos-task/task-decision-panel
task-queue-item
TaskQueueItem
The pending-decision row for Workbench and product inboxes: kind, instructions, context, age.
shadcn add @ekairos-task/task-queue-item
task-outcome-timeline
TaskOutcomeTimeline
Outcomes linked back to the Events executions that waited on them.
shadcn add @ekairos-task/task-outcome-timeline
Every approval that ships in product is a candidate for this registry.
task domain