- JSON 表現
- AgentInterface
- AgentProvider
- AgentCapabilities
- AgentExtension
- SecurityScheme
- APIKeySecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- DeviceCodeOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- SecurityRequirement
- StringList
- AgentSkill
- AgentCardSignature
エージェントの自己記述型マニフェスト。エージェントの ID、機能、スキル、サポートされている通信方法、セキュリティ要件などの重要なメタデータを提供します。次の ID: 20
| JSON 表現 |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| フィールド | |
|---|---|
name |
必須。人が読める形式のエージェントの名前。例: 「レシピ エージェント」 |
description |
必須。エージェントの目的をユーザーや他のエージェントが理解するのに役立つ、人が読める形式の説明。例: 「レシピや料理についてユーザーをサポートするエージェント。」 |
supportedInterfaces[] |
必須。サポートされているインターフェースの順序付きリスト。最初のエントリが優先されます。 |
provider |
エージェントのサービス提供者。 |
version |
必須。エージェントのバージョン。例: 「1.0.0」 |
capabilities |
必須。エージェントがサポートする A2A 機能セット。 |
securitySchemes |
このエージェントとの認証に使用されるセキュリティ スキームの詳細。
|
securityRequirements[] |
エージェントへの連絡に関するセキュリティ要件。 |
defaultInputModes[] |
必須。protoolint:enable REPEATED_FIELD_NAMES_PLURALIZED エージェントがすべてのスキルでサポートするインタラクション モードのセット。これはスキルごとにオーバーライドできます。メディアタイプとして定義されます。 |
defaultOutputModes[] |
必須。このエージェントの出力としてサポートされているメディアタイプ。 |
skills[] |
必須。スキルは、エージェントの能力を表します。これは主に説明的なコンセプトですが、エージェントが成功する可能性が高い、より絞り込まれた一連の動作を表しています。 |
signatures[] |
この |
documentationUrl |
エージェントに関する追加のドキュメントを提供する URL。 |
iconUrl |
省略可。エージェントのアイコンへの URL。 |
AgentInterface
エージェントとやり取りするためのターゲット URL、トランスポート、プロトコル バージョンの組み合わせを宣言します。これにより、エージェントは複数のプロトコル バインディング メカニズムで同じ機能を公開できます。
| JSON 表現 |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| フィールド | |
|---|---|
url |
必須。このインターフェースが利用可能な URL。本番環境では、有効な絶対 HTTPS URL である必要があります。例: 「https://api.example.com/a2a/v1」、「https://grpc.example.com/a2a」 |
protocolBinding |
必須。この URL でサポートされているプロトコル バインディング。これはオープン フォーム文字列であり、他のプロトコル バインディングに簡単に拡張できます。正式にサポートされているコアは、 |
tenant |
省略可。複数のエージェントが単一の A2A エンドポイントの背後でサービスを提供している場合に、リクエストを特定のエージェントまたはテナントに転送するために使用される不透明な文字列。設定されている場合、クライアントは、このインターフェースに送信されるすべてのリクエスト メッセージの |
protocolVersion |
必須。このインターフェースが公開する A2A プロトコルのバージョン。メジャー バージョンごとにサポートされている最新のマイナー バージョンを使用します。例: 「0.3」、「1.0」 |
AgentProvider
エージェントのサービス提供者を表します。
| JSON 表現 |
|---|
{ "url": string, "organization": string } |
| フィールド | |
|---|---|
url |
必須。エージェント プロバイダのウェブサイトまたは関連ドキュメントの URL。例: "https://ai.google.dev" |
organization |
必須。エージェント プロバイダの組織の名前。例: 「Google」 |
AgentCapabilities
エージェントでサポートされるオプションの機能を定義します。
| JSON 表現 |
|---|
{
"extensions": [
{
object ( |
| フィールド | |
|---|---|
extensions[] |
エージェントがサポートするプロトコル拡張機能のリスト。 |
streaming |
エージェントがストリーミング レスポンスをサポートしているかどうかを示します。 |
pushNotifications |
エージェントが非同期タスクの更新に関するプッシュ通知の送信をサポートしているかどうかを示します。 |
extendedAgentCard |
認証時に拡張エージェント カードの提供をサポートするかどうかを示します。 |
AgentExtension
エージェントがサポートするプロトコル拡張機能の宣言。
| JSON 表現 |
|---|
{ "uri": string, "description": string, "required": boolean, "params": { object } } |
| フィールド | |
|---|---|
uri |
拡張機能を識別する一意の URI。 |
description |
このエージェントが拡張機能を使用する方法の説明(人が読める形式)。 |
required |
true の場合、クライアントは拡張機能の要件を理解し、遵守する必要があります。 |
params |
省略可。拡張機能固有の構成パラメータ。 |
SecurityScheme
エージェントのエンドポイントの保護に使用できるセキュリティ スキームを定義します。これは、OpenAPI 3.2 セキュリティ スキーム オブジェクトに基づく判別共用体型です。参照: https://spec.openapis.org/oas/v3.2.0.html#security-scheme-object
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド
|
|
apiKeySecurityScheme |
API キーベースの認証。 |
httpAuthSecurityScheme |
HTTP 認証(Basic、Bearer など)。 |
oauth2SecurityScheme |
OAuth 2.0 認証。 |
openIdConnectSecurityScheme |
OpenID Connect 認証。 |
mtlsSecurityScheme |
相互 TLS 認証。 |
APIKeySecurityScheme
API キーを使用してセキュリティ スキームを定義します。
| JSON 表現 |
|---|
{ "description": string, "location": string, "name": string } |
| フィールド | |
|---|---|
description |
セキュリティ スキームの説明(省略可)。 |
location |
必須。API キーの場所。有効な値は「query」、「header」、「cookie」です。 |
name |
必須。使用するヘッダー、クエリ、Cookie パラメータの名前。 |
HTTPAuthSecurityScheme
HTTP 認証を使用するセキュリティ スキームを定義します。
| JSON 表現 |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| フィールド | |
|---|---|
description |
セキュリティ スキームの説明(省略可)。 |
scheme |
必須。RFC7235 で定義されている Authorization ヘッダーで使用される HTTP 認証スキームの名前(例: "Bearer")。この値は、IANA 認証スキーム レジストリに登録する必要があります。 |
bearerFormat |
ベアラートークンの形式(「JWT」など)を識別するためのクライアントへのヒント。主にドキュメント化を目的としています。 |
OAuth2SecurityScheme
OAuth 2.0 を使用してセキュリティ スキームを定義します。
| JSON 表現 |
|---|
{
"description": string,
"flows": {
object ( |
| フィールド | |
|---|---|
description |
セキュリティ スキームの説明(省略可)。 |
flows |
必須。サポートされている OAuth 2.0 フローの構成情報を含むオブジェクト。 |
oauth2MetadataUrl |
OAuth2 認証サーバー メタデータ RFC 8414 の URL。TLS が必要です。 |
OAuthFlows
サポートされている OAuth 2.0 フローの構成を定義します。
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド
|
|
authorizationCode |
OAuth 認可コードフローの構成。 |
clientCredentials |
OAuth クライアント認証情報フローの構成。 |
implicit |
非推奨: 代わりに Authorization Code + PKCE を使用してください。 |
password |
非推奨: 認証コード + PKCE またはデバイスコードを使用します。 |
deviceCode |
OAuth デバイスコードフローの構成。 |
AuthorizationCodeOAuthFlow
OAuth 2.0 認可コードフローの構成の詳細を定義します。
| JSON 表現 |
|---|
{ "authorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... }, "pkceRequired": boolean } |
| フィールド | |
|---|---|
authorizationUrl |
必須。このフローで使用される認証 URL。 |
tokenUrl |
必須。このフローで使用するトークン URL。 |
refreshUrl |
更新トークンの取得に使用する URL。 |
scopes |
必須。OAuth2 セキュリティ スキームで使用可能なスコープ。
|
pkceRequired |
このフローに PKCE(RFC 7636)が必要かどうかを示します。PKCE は常に公開クライアントで使用する必要があります。また、すべてのクライアントで使用することをおすすめします。 |
ClientCredentialsOAuthFlow
OAuth 2.0 クライアント認証情報フローの構成の詳細を定義します。
| JSON 表現 |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| フィールド | |
|---|---|
tokenUrl |
必須。このフローで使用するトークン URL。 |
refreshUrl |
更新トークンの取得に使用する URL。 |
scopes |
必須。OAuth2 セキュリティ スキームで使用可能なスコープ。
|
ImplicitOAuthFlow
非推奨: 代わりに Authorization Code + PKCE を使用してください。
| JSON 表現 |
|---|
{ "authorizationUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| フィールド | |
|---|---|
authorizationUrl |
このフローで使用される認証 URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています |
refreshUrl |
更新トークンの取得に使用する URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています。 |
scopes |
OAuth2 セキュリティ スキームで使用可能なスコープ。スコープ名とその簡単な説明のマッピング。マップは空にしても構いません。
|
PasswordOAuthFlow
非推奨: 認証コード + PKCE またはデバイスコードを使用します。
| JSON 表現 |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| フィールド | |
|---|---|
tokenUrl |
このフローで使用するトークン URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています。 |
refreshUrl |
更新トークンの取得に使用する URL。これは URL の形式でなければなりません。OAuth2 標準では TLS の使用が義務付けられています。 |
scopes |
OAuth2 セキュリティ スキームで使用可能なスコープ。スコープ名とその簡単な説明のマッピング。マップは空にしても構いません。
|
DeviceCodeOAuthFlow
OAuth 2.0 デバイスコードフロー(RFC 8628)の構成の詳細を定義します。このフローは、IoT デバイスなどの入力が制限されたデバイスや、ユーザーが別のデバイスで認証を行う CLI ツール向けに設計されています。
| JSON 表現 |
|---|
{ "deviceAuthorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| フィールド | |
|---|---|
deviceAuthorizationUrl |
必須。デバイス認証エンドポイントの URL。 |
tokenUrl |
必須。このフローで使用するトークン URL。 |
refreshUrl |
更新トークンの取得に使用する URL。 |
scopes |
必須。OAuth2 セキュリティ スキームで使用可能なスコープ。
|
OpenIdConnectSecurityScheme
OpenID Connect を使用してセキュリティ スキームを定義します。
| JSON 表現 |
|---|
{ "description": string, "openIdConnectUrl": string } |
| フィールド | |
|---|---|
description |
セキュリティ スキームの説明(省略可)。 |
openIdConnectUrl |
必須。OIDC プロバイダのメタデータの OpenID Connect Discovery URL。 |
MutualTlsSecurityScheme
mTLS 認証を使用するセキュリティ スキームを定義します。
| JSON 表現 |
|---|
{ "description": string } |
| フィールド | |
|---|---|
description |
セキュリティ スキームの説明(省略可)。 |
SecurityRequirement
エージェントのセキュリティ要件を定義します。
| JSON 表現 |
|---|
{
"schemes": {
string: {
object ( |
| フィールド | |
|---|---|
schemes |
セキュリティ スキームと必要なスコープのマッピング。
|
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED 文字列のリスト。
| JSON 表現 |
|---|
{ "list": [ string ] } |
| フィールド | |
|---|---|
list[] |
個々の文字列値。 |
AgentSkill
エージェントが実行できる個別の機能を表します。
| JSON 表現 |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"securityRequirements": [
{
object ( |
| フィールド | |
|---|---|
id |
必須。エージェントのスキルの一意の識別子。 |
name |
必須。人が読める形式のスキルの名前。 |
description |
必須。スキルの詳細な説明。 |
tags[] |
必須。スキルの機能を説明するキーワードのセット。 |
examples[] |
このスキルで処理できるプロンプトやシナリオの例。 |
inputModes[] |
このスキルでサポートされている入力メディア タイプのセット。エージェントのデフォルトをオーバーライドします。 |
outputModes[] |
このスキルでサポートされている出力メディア タイプのセット。エージェントのデフォルトをオーバーライドします。 |
securityRequirements[] |
このスキルに必要なセキュリティ スキーム。 |
AgentCardSignature
AgentCardSignature は、AgentCard の JWS 署名を表します。これは、RFC 7515 JSON Web Signature(JWS)の JSON 形式に準拠しています。
| JSON 表現 |
|---|
{ "protected": string, "signature": string, "header": { object } } |
| フィールド | |
|---|---|
protected |
必須。必須。署名の保護された JWS ヘッダー。これは常に base64url エンコードの JSON オブジェクトです。 |
signature |
必須。計算された署名(base64url でエンコード)。 |
header |
保護されていない JWS ヘッダー値。 |