Claudio.A2A.Task (Claudio v0.5.0)

View Source

A2A Task — the fundamental unit of work in the A2A protocol.

Tasks have a lifecycle: submitted → working → input_required → completed/failed/canceled.

Summary

Functions

Check if a task is in a terminal state.

Types

state()

@type state() ::
  :submitted
  | :working
  | :input_required
  | :completed
  | :failed
  | :canceled
  | :rejected
  | :auth_required

t()

@type t() :: %Claudio.A2A.Task{
  artifacts: [Claudio.A2A.Artifact.t()],
  context_id: String.t() | nil,
  history: [Claudio.A2A.Message.t()],
  id: String.t(),
  metadata: map() | nil,
  status: task_status()
}

task_status()

@type task_status() :: %{
  state: state(),
  message: Claudio.A2A.Message.t() | nil,
  timestamp: String.t() | nil
}

Functions

from_map(map)

@spec from_map(map()) :: t()

terminal?(task)

@spec terminal?(t()) :: boolean()

Check if a task is in a terminal state.

to_map(task)

@spec to_map(t()) :: map()