You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(tasks): add non-terminal task/interrupt + INTERRUPTED status (AGX1-391)
Adds a `task/interrupt` RPC method and `POST /tasks/{task_id}/interrupt` route
that stop an in-flight agent turn without terminating the task, plus a new
non-terminal `INTERRUPTED` task status. Mirrors the `task/cancel` paths but never
transitions the task to a terminal state, so the conversation stays continuable.
- RPC `task/interrupt` across the api/domain method enums, params, union, validators
- widen ACP_TYPE_TO_ALLOWED_RPC_METHODS to SYNC / ASYNC / AGENTIC
- authorize as `update`; dispatch + service forward the RPC to the agent (async)
and best-effort for sync; never calls _transition_to_terminal
- INTERRUPTED status + state machine: RUNNING<->INTERRUPTED and terminal
transitions accept INTERRUPTED as a source
- alembic migration adding the INTERRUPTED enum value
- regenerated openapi.yaml (drives SDK regeneration)
- unit + integration tests mirroring task/cancel
Part of the Stop-mid-stream + queue-at-boundary effort; see the design doc at
teams/sgp/agents/golden_agent/docs/interrupt-and-queue-design.md in agentex-agents.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments