Possible statuses for an async subagent task.
Statuses set by the middleware tools: "running", "success", "error", "cancelled".
Statuses that may be returned by the remote server: "pending", "timeout", "interrupted".
"waiting" means the subagent paused for its user (an approval or a
question), who answers it on the subagent's own thread.
"pending" means the latest run hasn't started yet. After a queued follow-up,
an earlier run may still be working.
"waiting" is experimental and subject to change.
AsyncTaskStatus: "pending" | "running" | "waiting" | "success" | "error" | "cancelled" | "timeout" | "interrupted"