- Représentation JSON
- AgentInterface
- AgentProvider
- AgentCapabilities
- AgentExtension
- SecurityScheme
- APIKeySecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- DeviceCodeOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- SecurityRequirement
- StringList
- AgentSkill
- AgentCardSignature
Manifeste auto-descriptif pour un agent. Il fournit des métadonnées essentielles, y compris l'identité, les capacités, les compétences, les méthodes de communication prises en charge et les exigences de sécurité de l'agent. Identifiant suivant : 20
| Représentation JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'agent lisible par l'humain. Exemple : "Agent de recettes" |
description |
Obligatoire. Description de l'agent lisible par l'humain, qui aide les utilisateurs et les autres agents à comprendre son objectif. Exemple : "Agent qui aide les utilisateurs avec des recettes et la cuisine." |
supportedInterfaces[] |
Obligatoire. Liste ordonnée des interfaces compatibles. La première entrée est privilégiée. |
provider |
Fournisseur de services de l'agent. |
version |
Obligatoire. Version de l'agent. Exemple : "1.0.0" |
capabilities |
Obligatoire. Ensemble de fonctionnalités A2A compatibles avec l'agent. |
securitySchemes |
Informations sur le schéma de sécurité utilisé pour l'authentification auprès de cet agent. Objet contenant une liste de paires |
securityRequirements[] |
Exigences de sécurité pour contacter l'agent. |
defaultInputModes[] |
Obligatoire. protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Ensemble des modes d'interaction compatibles avec l'agent pour toutes les compétences. Cette valeur peut être remplacée pour chaque skill. Définis comme des types de contenus. |
defaultOutputModes[] |
Obligatoire. Types de contenus multimédias acceptés en tant que sorties de cet agent. |
skills[] |
Obligatoire. Les compétences représentent les capacités d'un agent. Il s'agit en grande partie d'un concept descriptif, mais il représente un ensemble plus ciblé de comportements dans lesquels l'agent est susceptible de réussir. |
signatures[] |
Signatures Web JSON calculées pour ce |
documentationUrl |
URL fournissant de la documentation supplémentaire sur l'agent. |
iconUrl |
Facultatif. URL d'une icône pour l'agent. |
AgentInterface
Déclare une combinaison d'URL cible, de transport et de version de protocole pour interagir avec l'agent. Cela permet aux agents d'exposer les mêmes fonctionnalités sur plusieurs mécanismes de liaison de protocole.
| Représentation JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Champs | |
|---|---|
url |
Obligatoire. URL où cette interface est disponible. Doit être une URL HTTPS absolue valide en production. Exemple : "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Obligatoire. L'association de protocole acceptée à cette URL. Il s'agit d'une chaîne de formulaire ouverte, qui peut être facilement étendue à d'autres liaisons de protocole. Les principaux officiellement acceptés sont |
tenant |
Facultatif. Chaîne opaque utilisée pour acheminer les requêtes vers un agent ou un locataire spécifique lorsque plusieurs agents sont diffusés derrière un même point de terminaison A2A. Lorsqu'elle est définie, les clients DOIVENT inclure cette valeur dans le champ |
protocolVersion |
Obligatoire. Version du protocole A2A que cette interface expose. Utilisez la dernière version mineure compatible pour chaque version majeure. Exemples : "0.3", "1.0" |
AgentProvider
Représente le fournisseur de services d'un agent.
| Représentation JSON |
|---|
{ "url": string, "organization": string } |
| Champs | |
|---|---|
url |
Obligatoire. URL du site Web du fournisseur de l'agent ou de la documentation pertinente. Exemple : "https://ai.google.dev" |
organization |
Obligatoire. Nom de l'organisation du fournisseur d'agents. Exemple : "Google" |
AgentCapabilities
Définit les fonctionnalités facultatives prises en charge par un agent.
| Représentation JSON |
|---|
{
"extensions": [
{
object ( |
| Champs | |
|---|---|
extensions[] |
Liste des extensions de protocole compatibles avec l'agent. |
streaming |
Indique si l'agent accepte les réponses en streaming. |
pushNotifications |
Indique si l'agent est compatible avec l'envoi de notifications push pour les mises à jour des tâches asynchrones. |
extendedAgentCard |
Indique si l'agent peut fournir une fiche d'agent étendue une fois authentifié. |
AgentExtension
Déclaration d'une extension de protocole prise en charge par un agent.
| Représentation JSON |
|---|
{ "uri": string, "description": string, "required": boolean, "params": { object } } |
| Champs | |
|---|---|
uri |
URI unique identifiant l'extension. |
description |
Description lisible de la façon dont cet agent utilise l'extension. |
required |
Si la valeur est "true", le client doit comprendre et respecter les exigences de l'extension. |
params |
Facultatif. Paramètres de configuration spécifiques à l'extension. |
SecurityScheme
Définit un schéma de sécurité pouvant être utilisé pour sécuriser les points de terminaison d'un agent. Il s'agit d'un type d'union discriminé basé sur l'objet de schéma de sécurité OpenAPI 3.2. Voir : https://spec.openapis.org/oas/v3.2.0.html#security-scheme-object
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union
|
|
apiKeySecurityScheme |
Authentification basée sur une clé API. |
httpAuthSecurityScheme |
Authentification HTTP (de base, par jeton, etc.). |
oauth2SecurityScheme |
Authentification OAuth 2.0. |
openIdConnectSecurityScheme |
Authentification OpenID Connect. |
mtlsSecurityScheme |
Authentification TLS mutuelle. |
APIKeySecurityScheme
Définit un schéma de sécurité à l'aide d'une clé API.
| Représentation JSON |
|---|
{ "description": string, "location": string, "name": string } |
| Champs | |
|---|---|
description |
Description facultative du schéma de sécurité. |
location |
Obligatoire. Emplacement de la clé API. Les valeurs valides sont "query", "header" ou "cookie". |
name |
Obligatoire. Nom du paramètre d'en-tête, de requête ou de cookie à utiliser. |
HTTPAuthSecurityScheme
Définit un schéma de sécurité à l'aide de l'authentification HTTP.
| Représentation JSON |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| Champs | |
|---|---|
description |
Description facultative du schéma de sécurité. |
scheme |
Obligatoire. Nom du schéma d'authentification HTTP à utiliser dans l'en-tête "Authorization", tel que défini dans la RFC7235 (par exemple, "Bearer"). Cette valeur doit être enregistrée dans le registre des schémas d'authentification de l'IANA. |
bearerFormat |
Indication au client pour identifier le format du jeton du porteur (par exemple, "JWT"). Principalement à des fins de documentation. |
OAuth2SecurityScheme
Définit un schéma de sécurité à l'aide d'OAuth 2.0.
| Représentation JSON |
|---|
{
"description": string,
"flows": {
object ( |
| Champs | |
|---|---|
description |
Description facultative du schéma de sécurité. |
flows |
Obligatoire. Objet contenant des informations de configuration pour les flux OAuth 2.0 compatibles. |
oauth2MetadataUrl |
URL des métadonnées du serveur d'autorisation OAuth2 RFC 8414. TLS est obligatoire. |
OAuthFlows
Définit la configuration des flux OAuth 2.0 compatibles.
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union
|
|
authorizationCode |
Configuration du flux OAuth avec code d'autorisation. |
clientCredentials |
Configuration du flux d'identifiants client OAuth. |
implicit |
Obsolète : utilisez plutôt le code d'autorisation + PKCE. |
password |
Obsolète : utilisez le code d'autorisation + PKCE ou le code de l'appareil. |
deviceCode |
Configuration du flux de code d'appareil OAuth. |
AuthorizationCodeOAuthFlow
Définit les détails de configuration du flux avec code d'autorisation OAuth 2.0.
| Représentation JSON |
|---|
{ "authorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... }, "pkceRequired": boolean } |
| Champs | |
|---|---|
authorizationUrl |
Obligatoire. URL d'autorisation à utiliser pour ce flux. |
tokenUrl |
Obligatoire. URL du jeton à utiliser pour ce flux. |
refreshUrl |
URL à utiliser pour obtenir des jetons d'actualisation. |
scopes |
Obligatoire. Champs d'application disponibles pour le schéma de sécurité OAuth2. Objet contenant une liste de paires |
pkceRequired |
Indique si PKCE (RFC 7636) est requis pour ce flux. PKCE doit toujours être utilisé pour les clients publics et est recommandé pour tous les clients. |
ClientCredentialsOAuthFlow
Définit les détails de configuration du flux d'identifiants client OAuth 2.0.
| Représentation JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Champs | |
|---|---|
tokenUrl |
Obligatoire. URL du jeton à utiliser pour ce flux. |
refreshUrl |
URL à utiliser pour obtenir des jetons d'actualisation. |
scopes |
Obligatoire. Champs d'application disponibles pour le schéma de sécurité OAuth2. Objet contenant une liste de paires |
ImplicitOAuthFlow
Obsolète : utilisez plutôt le code d'autorisation + PKCE.
| Représentation JSON |
|---|
{ "authorizationUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Champs | |
|---|---|
authorizationUrl |
URL d'autorisation à utiliser pour ce flux. Elle DOIT se présenter sous la forme d'une URL. La norme OAuth2 exige l'utilisation de TLS. |
refreshUrl |
URL à utiliser pour obtenir des jetons d'actualisation. Elle DOIT se présenter sous la forme d'une URL. La norme OAuth2 exige l'utilisation de TLS. |
scopes |
Champs d'application disponibles pour le schéma de sécurité OAuth2. Mappage entre le nom du champ d'application et une brève description. La carte PEUT être vide. Objet contenant une liste de paires |
PasswordOAuthFlow
Obsolète : utilisez le code d'autorisation + PKCE ou le code de l'appareil.
| Représentation JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Champs | |
|---|---|
tokenUrl |
URL du jeton à utiliser pour ce flux. Elle DOIT se présenter sous la forme d'une URL. La norme OAuth2 exige l'utilisation de TLS. |
refreshUrl |
URL à utiliser pour obtenir des jetons d'actualisation. Elle DOIT se présenter sous la forme d'une URL. La norme OAuth2 exige l'utilisation de TLS. |
scopes |
Champs d'application disponibles pour le schéma de sécurité OAuth2. Mappage entre le nom du champ d'application et une brève description. La carte PEUT être vide. Objet contenant une liste de paires |
DeviceCodeOAuthFlow
Définit les détails de configuration du flux de code d'appareil OAuth 2.0 (RFC 8628). Ce flux est conçu pour les appareils à saisie limitée, tels que les appareils IoT et les outils CLI, où l'utilisateur s'authentifie sur un autre appareil.
| Représentation JSON |
|---|
{ "deviceAuthorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Champs | |
|---|---|
deviceAuthorizationUrl |
Obligatoire. URL du point de terminaison d'autorisation de l'appareil. |
tokenUrl |
Obligatoire. URL du jeton à utiliser pour ce flux. |
refreshUrl |
URL à utiliser pour obtenir des jetons d'actualisation. |
scopes |
Obligatoire. Champs d'application disponibles pour le schéma de sécurité OAuth2. Objet contenant une liste de paires |
OpenIdConnectSecurityScheme
Définit un schéma de sécurité à l'aide d'OpenID Connect.
| Représentation JSON |
|---|
{ "description": string, "openIdConnectUrl": string } |
| Champs | |
|---|---|
description |
Description facultative du schéma de sécurité. |
openIdConnectUrl |
Obligatoire. L'URL de découverte OpenID Connect pour les métadonnées du fournisseur OIDC. |
MutualTlsSecurityScheme
Définit un schéma de sécurité à l'aide de l'authentification mTLS.
| Représentation JSON |
|---|
{ "description": string } |
| Champs | |
|---|---|
description |
Description facultative du schéma de sécurité. |
SecurityRequirement
Définit les exigences de sécurité pour un agent.
| Représentation JSON |
|---|
{
"schemes": {
string: {
object ( |
| Champs | |
|---|---|
schemes |
Carte des schémas de sécurité aux niveaux d'accès requis. Objet contenant une liste de paires |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED A list of strings.
| Représentation JSON |
|---|
{ "list": [ string ] } |
| Champs | |
|---|---|
list[] |
Valeurs de chaîne individuelles. |
AgentSkill
Représente une capacité ou une fonction distincte qu'un agent peut effectuer.
| Représentation JSON |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"securityRequirements": [
{
object ( |
| Champs | |
|---|---|
id |
Obligatoire. Identifiant unique de la compétence de l'agent. |
name |
Obligatoire. Nom lisible de la compétence. |
description |
Obligatoire. Description détaillée de la compétence. |
tags[] |
Obligatoire. Ensemble de mots clés décrivant les capacités de la compétence. |
examples[] |
Exemples de requêtes ou de scénarios que cette compétence peut traiter. |
inputModes[] |
Ensemble des types de supports d'entrée acceptés pour cette compétence, qui remplacent les valeurs par défaut de l'agent. |
outputModes[] |
Ensemble des types de supports de sortie acceptés pour cette compétence, qui remplacent les valeurs par défaut de l'agent. |
securityRequirements[] |
Schémas de sécurité nécessaires pour cette skill. |
AgentCardSignature
AgentCardSignature représente une signature JWS d'une AgentCard. Il s'agit du format JSON d'une signature Web JSON (JWS) RFC 7515.
| Représentation JSON |
|---|
{ "protected": string, "signature": string, "header": { object } } |
| Champs | |
|---|---|
protected |
Obligatoire. Obligatoire. En-tête JWS protégé pour la signature. Il s'agit toujours d'un objet JSON encodé en base64url. |
signature |
Obligatoire. Signature calculée, encodée en base64url. |
header |
Valeurs d'en-tête JWS non protégées. |