- Représentation JSON
- AgentInterface
- AgentProvider
- SecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- Sécurité
- StringList
- AgentSkill
- AgentCardSignature
La fiche d'agent fournit des informations clés : - Informations générales (version, nom, description, utilisations) - Compétences : ensemble d'actions/solutions que l'agent peut effectuer - Modalités/types de contenu par défaut pris en charge par l'agent. - Conditions requises pour l'authentification. Identifiant suivant : 19
| Représentation JSON |
|---|
{ "protocolVersion": string, "name": string, "description": string, "url": string, "preferredTransport": string, "additionalInterfaces": [ { object ( |
| Champs | |
|---|---|
protocolVersion |
Version du protocole A2A compatible avec cet agent. |
name |
Nom de l'agent lisible par l'humain. Exemple : "Agent de recettes" |
description |
Description du domaine d'action/de l'espace de solutions de l'agent. Exemple : "Agent qui aide les utilisateurs avec des recettes et la cuisine". |
url |
URL de l'adresse à laquelle l'agent est hébergé. Il s'agit du point de terminaison préféré déclaré par l'agent. |
preferredTransport |
Transport du point de terminaison préféré. Si ce champ est vide, la valeur par défaut est JSONRPC. |
additionalInterfaces[] |
Annonce de transports supplémentaires compatibles. Le client peut utiliser n'importe quel transport compatible. |
provider |
Fournisseur de services de l'agent. |
version |
Version de l'agent. Exemple : "1.0.0" |
documentationUrl |
URL permettant de fournir des informations supplémentaires sur l'agent. |
capabilities |
Ensemble de capacité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 |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Exigences de sécurité pour contacter l'agent. Cette liste peut être considérée comme un "OU" de "ET". Chaque objet de la liste décrit un ensemble possible d'exigences de sécurité qui doivent être présentes dans une requête. Cela permet de spécifier, par exemple, que les appelants doivent utiliser OAuth OU une clé API ET mTLS. Exemple : security { schemes { key: "oauth" value { list: ["read"] } } } security { schemes { key: "api-key" } schemes { key: "mtls" } } |
defaultInputModes[] |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED L'ensemble des modes d'interaction que l'agent prend en charge pour toutes les compétences. Cette valeur peut être remplacée pour chaque skill. Définis comme des types MIME. |
defaultOutputModes[] |
Types MIME acceptés comme sorties de cet agent. |
skills[] |
Les compétences représentent une unité de capacité qu'un agent peut effectuer. Cela peut être un peu abstrait, mais représente un ensemble d'actions plus ciblées que l'agent est très susceptible de réussir. |
supportsAuthenticatedExtendedCard |
Indique si l'agent est compatible avec la fourniture d'une fiche d'agent étendue lorsque l'utilisateur est authentifié, c'est-à-dire si la fiche de .well-known est différente de celle de v1.getCard. |
signatures[] |
Signatures Web JSON calculées pour cette AgentCard. |
iconUrl |
URL facultative vers une icône pour l'agent. |
AgentInterface
Définit des informations de transport supplémentaires pour l'agent.
| Représentation JSON |
|---|
{ "url": string, "transport": string, "tenant": string } |
| Champs | |
|---|---|
url |
URL de cette interface. |
transport |
Transport compatible avec cette URL. Il s'agit d'une chaîne de formulaire ouvert, facilement extensible pour de nombreux protocoles de transport. Les principaux officiellement compatibles sont JSONRPC, GRPC et HTTP+JSON. |
tenant |
Locataire à définir dans la requête lors de l'appel de l'agent. Expérimental, peut encore changer pour la version 1.0. |
AgentProvider
Représente des informations sur le fournisseur de services d'un agent.
| Représentation JSON |
|---|
{ "url": string, "organization": string } |
| Champs | |
|---|---|
url |
Exemple d'URL de référence des fournisseurs : "https://ai.google.dev" |
organization |
Nom de l'organisation du fournisseur. Exemple : "Google" |
SecurityScheme
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union
|
|
apiKeySecurityScheme |
|
httpAuthSecurityScheme |
|
oauth2SecurityScheme |
|
openIdConnectSecurityScheme |
|
mtlsSecurityScheme |
|
HTTPAuthSecurityScheme
| Représentation JSON |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| Champs | |
|---|---|
description |
Description de ce schéma de sécurité. |
scheme |
Nom du schéma d'authentification HTTP à utiliser dans l'en-tête "Authorization", tel que défini dans la RFC7235. Les valeurs utilisées DOIVENT être enregistrées dans le registre des schémas d'authentification de l'IANA. La valeur n'est pas sensible à la casse, comme défini dans la RFC7235. |
bearerFormat |
Indication au client pour identifier le format du jeton du porteur. Les jetons du porteur sont généralement générés par un serveur d'autorisation. Ces informations sont donc principalement fournies à des fins de documentation. |
OAuth2SecurityScheme
| Représentation JSON |
|---|
{
"description": string,
"flows": {
object ( |
| Champs | |
|---|---|
description |
Description de ce schéma de sécurité. |
flows |
Objet contenant des informations de configuration pour les types de flux compatibles |
oauth2MetadataUrl |
URL des métadonnées du serveur d'autorisation oauth2 RFC8414. TLS est obligatoire. |
OAuthFlows
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union
|
|
authorizationCode |
|
clientCredentials |
|
implicit |
|
password |
|
AuthorizationCodeOAuthFlow
| Représentation JSON |
|---|
{ "authorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Champs | |
|---|---|
authorizationUrl |
URL d'autorisation à utiliser pour ce flux. Optimized translation here. La norme OAuth2 exige l'utilisation de TLS. |
tokenUrl |
URL du jeton à utiliser pour ce flux. Optimized translation here. La norme OAuth2 exige l'utilisation de TLS. |
refreshUrl |
URL à utiliser pour obtenir des jetons d'actualisation. Optimized translation here. La norme OAuth2 exige l'utilisation de TLS. |
scopes |
Niveaux d'accès disponibles pour le schéma de sécurité OAuth2. Il s'agit d'un mappage entre le nom du niveau d'accès et une brève description. Le mappage PEUT être vide. Objet contenant une liste de paires |
ClientCredentialsOAuthFlow
| Représentation JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Champs | |
|---|---|
tokenUrl |
URL du jeton à utiliser pour ce flux. Optimized translation here. La norme OAuth2 exige l'utilisation de TLS. |
refreshUrl |
URL à utiliser pour obtenir des jetons d'actualisation. Optimized translation here. La norme OAuth2 exige l'utilisation de TLS. |
scopes |
Niveaux d'accès disponibles pour le schéma de sécurité OAuth2. Il s'agit d'un mappage entre le nom du niveau d'accès et une brève description. Le mappage PEUT être vide. Objet contenant une liste de paires |
ImplicitOAuthFlow
| Représentation JSON |
|---|
{ "authorizationUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Champs | |
|---|---|
authorizationUrl |
URL d'autorisation à utiliser pour ce flux. Optimized translation here. La norme OAuth2 exige l'utilisation de TLS. |
refreshUrl |
URL à utiliser pour obtenir des jetons d'actualisation. Optimized translation here. La norme OAuth2 exige l'utilisation de TLS. |
scopes |
Niveaux d'accès disponibles pour le schéma de sécurité OAuth2. Il s'agit d'un mappage entre le nom du niveau d'accès et une brève description. Le mappage PEUT être vide. Objet contenant une liste de paires |
PasswordOAuthFlow
| Représentation JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Champs | |
|---|---|
tokenUrl |
URL du jeton à utiliser pour ce flux. Optimized translation here. La norme OAuth2 exige l'utilisation de TLS. |
refreshUrl |
URL à utiliser pour obtenir des jetons d'actualisation. Optimized translation here. La norme OAuth2 exige l'utilisation de TLS. |
scopes |
Niveaux d'accès disponibles pour le schéma de sécurité OAuth2. Il s'agit d'un mappage entre le nom du niveau d'accès et une brève description. Le mappage PEUT être vide. Objet contenant une liste de paires |
OpenIdConnectSecurityScheme
| Représentation JSON |
|---|
{ "description": string, "openIdConnectUrl": string } |
| Champs | |
|---|---|
description |
Description de ce schéma de sécurité. |
openIdConnectUrl |
URL bien connue permettant de découvrir les métadonnées du fournisseur [[OpenID-Connect-Discovery]]. |
MutualTlsSecurityScheme
| Représentation JSON |
|---|
{ "description": string } |
| Champs | |
|---|---|
description |
Description de ce schéma de sécurité. |
Sécurité
| Représentation JSON |
|---|
{
"schemes": {
string: {
object ( |
| Champs | |
|---|---|
schemes |
Objet contenant une liste de paires |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
| Représentation JSON |
|---|
{ "list": [ string ] } |
| Champs | |
|---|---|
list[] |
|
AgentSkill
AgentSkill représente une unité d'action/solution que l'agent peut effectuer. Il s'agit d'un type de solution très fiable qu'un agent peut être chargé de fournir. Les agents ont l'autonomie nécessaire pour choisir comment et quand utiliser des compétences spécifiques, mais les clients doivent avoir l'assurance que si la compétence est définie, cette unité d'action peut être effectuée de manière fiable.
| Représentation JSON |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"security": [
{
object ( |
| Champs | |
|---|---|
id |
Identifiant unique de la compétence au sein de cet agent. |
name |
Nom de la compétence lisible par l'humain. |
description |
Description lisible par un humain (ou un LLM) des détails et des comportements de la compétence. |
tags[] |
Ensemble de tags pour la skill afin d'améliorer la catégorisation/l'utilisation. Exemple : ["cuisine", "service client", "facturation"] |
examples[] |
Ensemble d'exemples de requêtes auxquelles cette skill est conçue pour répondre. Ces exemples devraient aider l'appelant à comprendre comment formuler des requêtes à l'agent pour atteindre des objectifs spécifiques. Exemple : ["J'ai besoin d'une recette de pain"] |
inputModes[] |
Modalités d'entrée possibles acceptées. |
outputModes[] |
Modes de sortie possibles |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Schémas de sécurité nécessaires pour que l'agent puisse utiliser cette compétence. Comme dans AgentCard.security global, cette liste représente un OR logique des objets d'exigences de sécurité. Chaque objet est un ensemble de schémas de sécurité qui doivent être utilisés ensemble (un AND logique). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED |
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. En-tête JWS protégé pour la signature. Il s'agit toujours d'un objet JSON encodé en base64url. Obligatoire. |
signature |
Obligatoire. Signature calculée, encodée en base64url. Obligatoire. |
header |
Valeurs d'en-tête JWS non protégées. |