Commands are what you ask.
A command is not part of the record. The host accepts or rejects it before durable state changes. The accepted effect comes back as authority events.
- message
- A user message. The host defines the body. The accepted effect includes
message.user.recordedand the run events that follow. - resolve-interrupt
- Requires
interruptIdanddecision. The decision is one of the actions on the matching request, orexpiredwhen the backend expires it. The effect isinterrupt.resolved, thenrun.resumedor a run terminal, orworkflow.resumedor a workflow terminal. - stop-active-root
- The host defines the body. The effect is
run.stop.requestedand the terminals that follow.
HTTP is one binding, not the protocol. A recommended binding is POST /api/narad/v1/commands/resolve-interrupt. The shipped TypeScript client covers resolve-interrupt. message and stop-active-root are host-defined bindings.
See §2.2.