Tasks & States

Tasks track the lifecycle of agent operations.

Task Structure

FieldTypeDescription
idstringUnique task identifier
statestringCurrent task state
artifactsarrayOutput artifacts (optional)
historyarrayState transition history (optional)

Task States

StateDescription
submittedTask received but not started
workingTask is being processed
input-requiredAgent needs more input from the user
completedTask finished successfully
failedTask encountered an error
canceledTask was canceled
unknownState cannot be determined

State Transitions

submitted → working → completed
                   → failed
                   → input-required → working
                   → canceled

submitted → canceled

Task Operations

Get Task Status

{
  "jsonrpc": "2.0",
  "method": "tasks/get",
  "id": "1",
  "params": { "id": "task-uuid" }
}

Cancel Task

{
  "jsonrpc": "2.0",
  "method": "tasks/cancel",
  "id": "1",
  "params": { "id": "task-uuid" }
}

Artifacts

Completed tasks may return artifacts:

{
  "id": "task-uuid",
  "state": "completed",
  "artifacts": [
    {
      "artifactId": "result-1",
      "name": "result",
      "parts": [
        { "kind": "text", "text": "Here is the result..." }
      ]
    }
  ]
}