リソース: Task
Task は、A2A のアクションのコア単位です。現在のステータスがあり、タスクの結果が作成されると、アーティファクトに保存されます。タスクに複数のターンがある場合、それらは履歴に保存されます。
| JSON 表現 |
|---|
{ "id": string, "contextId": string, "status": { object ( |
| フィールド | |
|---|---|
id |
必須。新しいタスクに対してサーバーが生成したタスクの一意の識別子(UUID など)。 |
contextId |
コンテキストに基づくインタラクション(タスクとメッセージ)のコレクションの固有識別子(UUID など)。 |
status |
必須。 |
artifacts[] |
|
history[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED |
metadata |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED タスクに関するカスタム メタデータを保存する Key-Value オブジェクト。 |
TaskStatus
タスクのステータスのコンテナ
| JSON 表現 |
|---|
{ "state": enum ( |
| フィールド | |
|---|---|
state |
必須。このタスクの現在の状態。 |
message |
ステータスに関連付けられたメッセージ。 |
timestamp |
ステータスが記録されたときの ISO 8601 タイムスタンプ。例: 「2023-10-27T10:00:00Z」 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
TaskState
Task のライフサイクル ステータスの有効な値を定義します。
| 列挙型 | |
|---|---|
TASK_STATE_UNSPECIFIED |
タスクの状態が不明または未確定です。 |
TASK_STATE_SUBMITTED |
タスクが正常に送信され、確認されたことを示します。 |
TASK_STATE_WORKING |
タスクがエージェントによってアクティブに処理されていることを示します。 |
TASK_STATE_COMPLETED |
タスクが正常に終了したことを示します。これは終了状態です。 |
TASK_STATE_FAILED |
タスクがエラーで終了したことを示します。これは終了状態です。 |
TASK_STATE_CANCELED |
タスクが完了前にキャンセルされたことを示します。これは終了状態です。 |
TASK_STATE_INPUT_REQUIRED |
エージェントが続行するために追加のユーザー入力を必要とすることを示します。これは中断状態です。 |
TASK_STATE_REJECTED |
エージェントがタスクを実行しないことを決定したことを示します。これは、最初のタスク作成時、またはエージェントが続行できないと判断した後に実行できます。これは終了状態です。 |
TASK_STATE_AUTH_REQUIRED |
続行するには認証が必要であることを示します。これは中断状態です。 |
メッセージ
Message は、クライアントとサーバー間の通信の単位です。コンテキストやタスクに関連付けることができます。サーバー メッセージの場合、contextId は必須です。taskId は、タスクが作成された場合にのみ指定します。クライアント メッセージの場合、両方のフィールドは省略可能です。ただし、両方を指定する場合は、一致している必要があります(contextId はタスクに設定されているものと同じである必要があります)。taskId のみが指定されている場合、サーバーはそこから contextId を推測します。
| JSON 表現 |
|---|
{ "messageId": string, "contextId": string, "taskId": string, "role": enum ( |
| フィールド | |
|---|---|
messageId |
必須。メッセージの固有識別子(UUID など)。これはメッセージ作成者によって作成されます。 |
contextId |
省略可。メッセージのコンテキスト ID。設定すると、メッセージは指定されたコンテキストに関連付けられます。 |
taskId |
省略可。メッセージのタスク ID。設定すると、メッセージは指定されたタスクに関連付けられます。 |
role |
必須。メッセージの送信者を識別します。 |
parts[] |
必須。Parts はメッセージ コンテンツのコンテナです。 |
metadata |
省略可。メッセージとともに提供するメタデータ。 |
extensions[] |
このメッセージに存在する、またはこのメッセージに提供された拡張機能の URI。 |
referenceTaskIds[] |
このメッセージが追加のコンテキストを参照するタスク ID のリスト。 |
ロール
A2A プロトコル通信のメッセージの送信者を定義します。
| 列挙型 | |
|---|---|
ROLE_UNSPECIFIED |
ロールが指定されていません。 |
ROLE_USER |
メッセージはクライアントからサーバーに送信されます。 |
ROLE_AGENT |
メッセージはサーバーからクライアントに送信されます。 |
Part
Part は、コミュニケーション コンテンツのセクションのコンテナを表します。パーツは、純粋なテキスト、何らかのファイル(画像、動画など)、構造化データ BLOB(JSON など)にすることができます。
| JSON 表現 |
|---|
{ "metadata": { object }, "filename": string, "mediaType": string, // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "text": string, "raw": string, "url": string, "data": value // End of mutually exclusive fields. } |
| フィールド | |
|---|---|
metadata |
省略可。この部分に関連付けられたメタデータ。 |
filename |
ファイルのオプションの |
mediaType |
パート コンテンツの |
| 以下は、相互に排他的なフィールドのリストです。レスポンスに設定されるフィールドは、最大 1 つです。 | |
text |
|
raw |
ファイルの Base64 でエンコードされた文字列。 |
url |
ファイルの内容を指す |
data |
任意の構造化された |
| 相互に排他的なフィールドの終わり。 | |
アーティファクト
アーティファクトはタスクの出力を表します。
| JSON 表現 |
|---|
{
"artifactId": string,
"name": string,
"description": string,
"parts": [
{
object ( |
| フィールド | |
|---|---|
artifactId |
必須。アーティファクトの固有識別子(UUID など)。タスク内で一意である必要があります。 |
name |
人が読める形式のアーティファクトの名前。 |
description |
省略可。アーティファクトの説明(人が読める形式)。 |
parts[] |
必須。アーティファクトのコンテンツ。少なくとも 1 つのパートを含む必要があります。 |
metadata |
省略可。アーティファクトに含まれるメタデータ。 |
extensions[] |
このアーティファクトに存在する、またはこのアーティファクトに貢献した拡張機能の URI。 |
メソッド |
|
|---|---|
|
進行中のタスクをキャンセルします。 |
|
タスクの最新の状態を取得します。 |
|
指定されたフィルタに一致するタスクを一覧表示します。 |
|
終了状態でないタスクのタスク更新をサブスクライブします。 |