Package a2a.v1

Index

A2AService

A2AService définit la version gRPC du protocole A2A. La forme de cette réponse est légèrement différente de celle de la version JSONRPC pour mieux se conformer à l'AIP-127, le cas échéant. Les noms sont AgentCard, Message, Task et TaskPushNotificationConfig.

  • Les messages ne sont pas une ressource standard. Il n'existe donc pas d'interface get/delete/update/list, mais uniquement des méthodes personnalisées send et stream.
  • Les tâches disposent d'une interface get et de méthodes personnalisées cancel et subscribe.
  • TaskPushNotificationConfig est une ressource dont le parent est une tâche. Elles disposent des méthodes get, list et create.
  • AgentCard est une ressource statique avec une seule méthode "get".
CancelTask

rpc CancelTask(CancelTaskRequest) returns (Task)

Annuler une tâche à partir de l'agent Si cette fonctionnalité est disponible, vous ne devriez plus recevoir de notifications concernant la tâche.

Niveaux d'accès des autorisations

Nécessite l'un des niveaux d'accès OAuth suivants :

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Pour plus d'informations, consultez la Authentication Overview.

CreateTaskPushNotificationConfig

rpc CreateTaskPushNotificationConfig(CreateTaskPushNotificationConfigRequest) returns (TaskPushNotificationConfig)

Définissez une configuration de notification push pour une tâche.

Niveaux d'accès des autorisations

Nécessite l'un des niveaux d'accès OAuth suivants :

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Pour plus d'informations, consultez la Authentication Overview.

DeleteTaskPushNotificationConfig

rpc DeleteTaskPushNotificationConfig(DeleteTaskPushNotificationConfigRequest) returns (Empty)

Supprimez une configuration de notification push pour une tâche.

Niveaux d'accès des autorisations

Nécessite l'un des niveaux d'accès OAuth suivants :

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Pour plus d'informations, consultez la Authentication Overview.

GetAgentCard

rpc GetAgentCard(GetAgentCardRequest) returns (AgentCard)

GetAgentCard renvoie la carte de l'agent.

Niveaux d'accès des autorisations

Nécessite l'un des niveaux d'accès OAuth suivants :

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Pour plus d'informations, consultez la page Authentication Overview.

Autorisations IAM

Nécessite l'autorisation IAM suivante sur la ressource tenant :

  • discoveryengine.agents.get

Pour en savoir plus, consultez la documentation IAM.

GetTask

rpc GetTask(GetTaskRequest) returns (Task)

Obtenez l'état actuel d'une tâche auprès de l'agent.

Niveaux d'accès des autorisations

Nécessite l'un des niveaux d'accès OAuth suivants :

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Pour plus d'informations, consultez la Authentication Overview.

GetTaskPushNotificationConfig

rpc GetTaskPushNotificationConfig(GetTaskPushNotificationConfigRequest) returns (TaskPushNotificationConfig)

Obtenez une configuration de notification push pour une tâche.

Niveaux d'accès des autorisations

Nécessite l'un des niveaux d'accès OAuth suivants :

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Pour plus d'informations, consultez la Authentication Overview.

ListTaskPushNotificationConfig

rpc ListTaskPushNotificationConfig(ListTaskPushNotificationConfigRequest) returns (ListTaskPushNotificationConfigResponse)

Obtenez la liste des notifications push configurées pour une tâche.

Niveaux d'accès des autorisations

Nécessite l'un des niveaux d'accès OAuth suivants :

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Pour plus d'informations, consultez la Authentication Overview.

SendMessage

rpc SendMessage(SendMessageRequest) returns (SendMessageResponse)

Envoyez un message à l'agent. Il s'agit d'un appel bloquant qui renvoie la tâche une fois qu'elle est terminée, ou une LRO si elle est demandée.

Niveaux d'accès des autorisations

Nécessite l'un des niveaux d'accès OAuth suivants :

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Pour plus d'informations, consultez la Authentication Overview.

SendStreamingMessage

rpc SendStreamingMessage(SendMessageRequest) returns (StreamResponse)

SendStreamingMessage est un appel de streaming qui renvoie un flux d'événements de mise à jour de la tâche jusqu'à ce que la tâche soit dans un état interrompu ou final.

Niveaux d'accès des autorisations

Nécessite l'un des niveaux d'accès OAuth suivants :

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Pour plus d'informations, consultez la Authentication Overview.

TaskSubscription

rpc TaskSubscription(TaskSubscriptionRequest) returns (StreamResponse)

TaskSubscription est un appel de streaming qui renvoie un flux d'événements de mise à jour des tâches. Cela permet d'associer le flux à une tâche en cours existante. Si la tâche est terminée, le flux renvoie la tâche terminée (comme GetTask) et ferme le flux.

Niveaux d'accès des autorisations

Nécessite l'un des niveaux d'accès OAuth suivants :

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Pour plus d'informations, consultez la Authentication Overview.

APIKeySecurityScheme

Champs
description

string

Description de ce schéma de sécurité.

location

string

Emplacement de la clé API. Les valeurs valides sont "query", "header" ou "cookie".

name

string

Nom du paramètre d'en-tête, de requête ou de cookie à utiliser.

AgentCapabilities

Définit l'ensemble de fonctionnalités A2A compatibles avec l'agent.

Champs
streaming

bool

Si l'agent prend en charge les réponses en streaming

push_notifications

bool

Si l'agent peut envoyer des notifications push au webhook du client

extensions[]

AgentExtension

Extensions compatibles avec cet agent.

AgentCard

La fiche de l'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

Champs
protocol_version

string

Version du protocole A2A compatible avec cet agent.

name

string

Nom d'agent lisible par l'humain. Exemple : "Agent de recettes"

description

string

Description du domaine d'action/de l'espace de solution de l'agent. Exemple : "Agent qui aide les utilisateurs avec les recettes et la cuisine."

url

string

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.

preferred_transport

string

Transport du point de terminaison préféré. Si ce champ est vide, la valeur par défaut est JSONRPC.

additional_interfaces[]

AgentInterface

Annonce de transports supplémentaires compatibles. Le client peut utiliser n'importe quel transport compatible.

provider

AgentProvider

Fournisseur de services de l'agent.

version

string

Version de l'agent. Exemple : "1.0.0"

documentation_url

string

URL permettant de fournir des informations supplémentaires sur l'agent.

capabilities

AgentCapabilities

Ensemble de fonctionnalités A2A compatibles avec l'agent.

security_schemes

map<string, SecurityScheme>

Informations sur le schéma de sécurité utilisé pour l'authentification auprès de cet agent.

security[]

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" } }

default_input_modes[]

string

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Ensemble des modes d'interaction pris en charge par l'agent pour toutes les compétences. Cette valeur peut être remplacée pour chaque skill. Définis comme des types MIME.

default_output_modes[]

string

Types MIME acceptés comme sorties de cet agent.

skills[]

AgentSkill

Les compétences représentent une capacité qu'un agent peut effectuer. Cela peut sembler un peu abstrait, mais cela représente un ensemble d'actions plus ciblées que l'agent est très susceptible de réussir.

supports_authenticated_extended_card

bool

Indique si l'agent est compatible avec la fourniture d'une carte d'agent étendue lorsque l'utilisateur est authentifié, c'est-à-dire si la carte de .well-known est différente de celle de GetAgentCard.

signatures[]

AgentCardSignature

Signatures Web JSON calculées pour cette AgentCard.

icon_url

string

URL facultative vers une icône pour l'agent.

AgentCardSignature

AgentCardSignature représente une signature JWS d'une AgentCard. Il s'agit du format JSON d'une signature Web JSON (JWS) RFC 7515.

Champs
protected

string

Obligatoire. En-tête JWS protégé pour la signature. Il s'agit toujours d'un objet JSON encodé en base64url. Obligatoire.

signature

string

Obligatoire. Signature calculée, encodée en base64url. Obligatoire.

header

Struct

Valeurs d'en-tête JWS non protégées.

AgentExtension

Déclaration d'une extension acceptée par un agent.

Champs
uri

string

URI de l'extension. Exemple : "https://developers.google.com/identity/protocols/oauth2"

description

string

Description de la façon dont cet agent utilise cette extension. Exemple : "Authentification Google OAuth 2.0"

required

bool

Indique si le client doit respecter des exigences spécifiques de l'extension. Exemple : false

params

Struct

Configuration facultative de l'extension.

AgentInterface

Définit des informations de transport supplémentaires pour l'agent.

Champs
url

string

URL de cette interface.

transport

string

Le transport était 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

string

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.

Champs
url

string

Exemple d'URL de référence des fournisseurs : "https://ai.google.dev"

organization

string

Nom de l'organisation du fournisseur. Exemple : "Google"

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.

Champs
id

string

Identifiant unique de la compétence au sein de cet agent.

name

string

Nom de la compétence lisible par l'humain.

description

string

Description lisible par un humain (ou un LLM) des détails et des comportements de la compétence.

tags[]

string

Ensemble de tags pour la compétence afin d'améliorer la catégorisation/l'utilisation. Exemple : ["cooking", "customer support", "billing"] ("cuisine", "service client", "facturation")

examples[]

string

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"]

input_modes[]

string

Modalités d'entrée possibles acceptées.

output_modes[]

string

Modes de sortie possibles générés

security[]

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, 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

Artefact

Les artefacts sont le conteneur des résultats des tâches effectuées. Elles sont semblables aux messages, mais sont censées être le résultat d'une tâche, et non une communication point à point.

Champs
artifact_id

string

Identifiant unique (par exemple, UUID) de l'artefact. Il doit au moins être unique dans une tâche.

name

string

Nom lisible de l'artefact.

description

string

Description lisible de l'artefact (facultatif).

parts[]

Part

Contenu de l'artefact.

metadata

Struct

Métadonnées facultatives incluses avec l'artefact.

extensions[]

string

URI des extensions présentes dans cet artefact ou ayant contribué à sa création.

AuthenticationInfo

Définit les informations d'authentification utilisées pour les notifications push.

Champs
schemes[]

string

Schémas d'authentification compatibles (par exemple, Basic, Bearer, etc.)

credentials

string

Identifiants facultatifs

AuthorizationCodeOAuthFlow

Champs
authorization_url

string

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.

token_url

string

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.

refresh_url

string

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

map<string, string>

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.

CancelTaskRequest

Champs
tenant

string

Locataire facultatif, fourni en tant que paramètre de chemin d'accès. Expérimental, peut encore changer pour la version 1.0.

name

string

Nom de ressource de la tâche à annuler. Format : tasks/{task_id}

ClientCredentialsOAuthFlow

Champs
token_url

string

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.

refresh_url

string

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

map<string, string>

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.

CreateTaskPushNotificationConfigRequest

Champs
tenant

string

Locataire facultatif, fourni en tant que paramètre de chemin d'accès. Expérimental, peut encore changer pour la version 1.0.

parent

string

Obligatoire. Ressource de tâche parente pour cette configuration. Format : tasks/{task_id}

config_id

string

Obligatoire. ID de la nouvelle configuration.

config

TaskPushNotificationConfig

Obligatoire. Configuration à créer.

DataPart

DataPart représente un blob structuré. Il s'agit le plus souvent d'une charge utile JSON.

Champs
data

Struct

DeleteTaskPushNotificationConfigRequest

Champs
tenant

string

Locataire facultatif, fourni en tant que paramètre de chemin d'accès. Expérimental, peut encore changer pour la version 1.0.

name

string

Nom de ressource de la configuration à supprimer. Format : tasks/{task_id}/pushNotificationConfigs/{config_id}

FilePart

FilePart représente les différentes manières dont les fichiers peuvent être fournis. Si les fichiers sont petits, il est possible d'insérer directement les octets à l'aide de file_with_bytes. Si le fichier est volumineux, l'agent doit lire le contenu de manière appropriée directement à partir de la source file_with_uri.

Champs
mime_type

string

name

string

Champ d'union file.

file ne peut être qu'un des éléments suivants :

file_with_uri

string

file_with_bytes

bytes

GetAgentCardRequest

Champs
tenant

string

Locataire facultatif, fourni en tant que paramètre de chemin d'accès. Expérimental, peut encore changer pour la version 1.0.

GetTaskPushNotificationConfigRequest

Champs
tenant

string

Locataire facultatif, fourni en tant que paramètre de chemin d'accès. Expérimental, peut encore changer pour la version 1.0.

name

string

Nom de ressource de la configuration à récupérer. Format : tasks/{task_id}/pushNotificationConfigs/{config_id}

GetTaskRequest

Champs
tenant

string

Locataire facultatif, fourni en tant que paramètre de chemin d'accès. Expérimental, peut encore changer pour la version 1.0.

name

string

Obligatoire. Nom de ressource de la tâche. Format : tasks/{task_id}

history_length

int32

Nombre de messages les plus récents de l'historique de la tâche à récupérer.

HTTPAuthSecurityScheme

Champs
description

string

Description de ce schéma de sécurité.

scheme

string

Nom du schéma d'authentification HTTP à utiliser dans l'en-tête d'autorisation, 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.

bearer_format

string

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.

ImplicitOAuthFlow

Champs
authorization_url

string

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.

refresh_url

string

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

map<string, string>

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.

ListTaskPushNotificationConfigRequest

Champs
tenant

string

Locataire facultatif, fourni en tant que paramètre de chemin d'accès. Expérimental, peut encore changer pour la version 1.0.

parent

string

Ressource de tâche parente. Format : tasks/{task_id}

page_size

int32

Pour AIP-158, ces champs sont présents. Généralement non utilisé/nécessaire. Nombre maximal de configurations à renvoyer. Si aucune valeur n'est spécifiée, toutes les configurations sont renvoyées.

page_token

string

Jeton de page reçu d'un appel ListTaskPushNotificationConfigRequest précédent. Fournissez-le pour récupérer la page suivante. Lors de la pagination, tous les autres paramètres fournis à ListTaskPushNotificationConfigRequest doivent correspondre à l'appel ayant fourni le jeton de page.

ListTaskPushNotificationConfigResponse

Champs
configs[]

TaskPushNotificationConfig

Liste des configurations de notifications push.

next_page_token

string

Jeton pouvant être envoyé en tant que page_token pour récupérer la page suivante. Si ce champ est omis, il n'y a pas d'autres pages.

Message

Un message est une unité de communication entre le client et le serveur. Il est associé à un contexte et, éventuellement, à une tâche. Étant donné que le serveur est responsable de la définition du contexte, il doit toujours fournir un context_id dans ses messages. Le client peut éventuellement fournir le context_id s'il connaît le contexte auquel associer le message. Il en va de même pour task_id, sauf que le serveur décide si une tâche est créée et s'il faut inclure task_id.

Champs
message_id

string

Identifiant unique (par exemple, UUID) du message. Ce champ est obligatoire et créé par l'auteur du message.

context_id

string

ID de contexte du message. Cette option est facultative. Si elle est définie, le message sera associé au contexte donné.

task_id

string

ID de la tâche du message. Cette étape est facultative. Si vous définissez un message, il sera associé à la tâche indiquée.

role

Role

Rôle du message.

content[]

Part

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content est le conteneur du contenu du message.

metadata

Struct

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Toutes les métadonnées facultatives à fournir avec le message.

extensions[]

string

URI des extensions présentes dans ce message ou auxquelles il contribue.

MutualTlsSecurityScheme

Champs
description

string

Description de ce schéma de sécurité.

OAuth2SecurityScheme

Champs
description

string

Description de ce schéma de sécurité.

flows

OAuthFlows

Objet contenant des informations de configuration pour les types de flux acceptés

oauth2_metadata_url

string

URL des métadonnées du serveur d'autorisation oauth2 RFC8414. TLS est obligatoire.

OAuthFlows

Champs

Champ d'union flow.

flow ne peut être qu'un des éléments suivants :

authorization_code

AuthorizationCodeOAuthFlow

client_credentials

ClientCredentialsOAuthFlow

implicit

ImplicitOAuthFlow

password

PasswordOAuthFlow

OpenIdConnectSecurityScheme

Champs
description

string

Description de ce schéma de sécurité.

open_id_connect_url

string

URL connue pour découvrir les métadonnées du fournisseur [[OpenID-Connect-Discovery]].

Partie

"Part" représente un conteneur pour une section de contenu de communication. Les composants peuvent être purement textuels, être un fichier (image, vidéo, etc.) ou un blob de données structurées (c'est-à-dire JSON).

Champs
metadata

Struct

Métadonnées facultatives associées à cette partie.

Champ d'union part.

part ne peut être qu'un des éléments suivants :

text

string

file

FilePart

data

DataPart

PasswordOAuthFlow

Champs
token_url

string

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.

refresh_url

string

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

map<string, string>

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.

PushNotificationConfig

Configuration permettant de configurer les notifications push pour les mises à jour des tâches.

Champs
id

string

Identifiant unique (par exemple, UUID) de cette notification push.

url

string

URL à laquelle envoyer la notification

token

string

Jeton unique pour cette tâche/session

authentication

AuthenticationInfo

Informations sur l'authentification à envoyer avec la notification

Rôle

Enums
ROLE_UNSPECIFIED
ROLE_USER Le rôle USER fait référence à la communication du client au serveur.
ROLE_AGENT Le rôle AGENT fait référence à la communication du serveur au client.

Sécurité

Champs
schemes

map<string, StringList>

SecurityScheme

Champs

Champ d'union scheme.

scheme ne peut être qu'un des éléments suivants :

api_key_security_scheme

APIKeySecurityScheme

http_auth_security_scheme

HTTPAuthSecurityScheme

oauth2_security_scheme

OAuth2SecurityScheme

open_id_connect_security_scheme

OpenIdConnectSecurityScheme

mtls_security_scheme

MutualTlsSecurityScheme

SendMessageConfiguration

Configuration d'une requête d'envoi de message.

Champs
accepted_output_modes[]

string

Modes de sortie avec lesquels l'agent est censé répondre.

push_notification

PushNotificationConfig

Configuration d'un webhook pouvant être utilisé pour recevoir des mises à jour

history_length

int32

Nombre maximal de messages à inclure dans l'historique. Si la valeur est définie sur 0, l'historique est illimité.

blocking

bool

Si la valeur est "true", le message sera bloquant jusqu'à ce que la tâche soit terminée. Si la valeur est "false", le message ne sera pas bloquant et la tâche sera renvoyée immédiatement. Il incombe à l'appelant de vérifier si des mises à jour ont été apportées aux tâches.

SendMessageRequest

///////// Messages de demande /////////

Champs
tenant

string

Locataire facultatif, fourni en tant que paramètre de chemin d'accès. Expérimental, peut encore changer pour la version 1.0.

request

Message

Obligatoire. Message à envoyer à l'agent.

configuration

SendMessageConfiguration

Configuration de la requête d'envoi.

metadata

Struct

Métadonnées facultatives pour la requête.

SendMessageResponse

////// Messages de réponse ///////////

Champs

Champ d'union payload.

payload ne peut être qu'un des éléments suivants :

task

Task

msg

Message

StreamResponse

Réponse du flux pour un message. Le flux doit être l'une des séquences suivantes : si la réponse est un message, le flux doit contenir un seul message, puis se fermer. Si la réponse est un cycle de vie de tâche, la première réponse doit être un objet Task, suivi de zéro ou plusieurs TaskStatusUpdateEvents et TaskArtifactUpdateEvents. Le flux doit se terminer lorsque la tâche est dans un état interrompu ou final. Si un flux se termine avant que ces conditions ne soient remplies,

Champs

Champ d'union payload.

payload ne peut être qu'un des éléments suivants :

task

Task

msg

Message

status_update

TaskStatusUpdateEvent

artifact_update

TaskArtifactUpdateEvent

StringList

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED

Champs
list[]

string

Tâche

Une tâche est l'unité d'action de base pour A2A. Il possède un état actuel et, lorsque des résultats sont créés pour la tâche, ils sont stockés dans l'artefact. S'il y a plusieurs tours pour une tâche, ils sont stockés dans l'historique.

Champs
id

string

Identifiant unique (par exemple, UUID) de la tâche, généré par le serveur pour une nouvelle tâche.

context_id

string

Identifiant unique (par exemple, UUID) pour la collection contextuelle d'interactions (tâches et messages). Créé par le serveur A2A.

status

TaskStatus

État actuel d'une tâche, y compris l'état et un message.

artifacts[]

Artifact

Ensemble d'artefacts de sortie pour une tâche.

history[]

Message

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Historique des interactions d'une tâche.

metadata

Struct

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Un objet clé/valeur permettant de stocker des métadonnées personnalisées sur une tâche.

TaskArtifactUpdateEvent

TaskArtifactUpdateEvent représente un delta de tâche dans lequel un artefact a été généré.

Champs
task_id

string

ID de la tâche pour cet artefact

context_id

string

ID du contexte auquel appartient cette tâche

artifact

Artifact

L'artefact lui-même

append

bool

Indique si cette réponse doit être ajoutée à une réponse précédente.

last_chunk

bool

Indique s'il s'agit de la dernière partie d'un artefact.

metadata

Struct

Métadonnées facultatives associées à la mise à jour de l'artefact.

TaskPushNotificationConfig

Champs
name

string

Nom de ressource de la configuration. Format : tasks/{task_id}/pushNotificationConfigs/{config_id}

push_notification_config

PushNotificationConfig

Détails de la configuration des notifications push.

TaskState

Ensemble des états dans lesquels une tâche peut se trouver.

Enums
TASK_STATE_UNSPECIFIED
TASK_STATE_SUBMITTED Représente l'état qui confirme la création d'une tâche.
TASK_STATE_WORKING Représente l'état d'une tâche en cours de traitement.
TASK_STATE_COMPLETED Représente l'état d'une tâche terminée. Il s'agit d'un état final.
TASK_STATE_FAILED Représente l'état d'une tâche terminée, mais ayant échoué. Il s'agit d'un état final.
TASK_STATE_CANCELLED Représente l'état d'une tâche qui a été annulée avant la fin. Il s'agit d'un état final.
TASK_STATE_INPUT_REQUIRED Représente l'état dans lequel la tâche nécessite des informations pour être effectuée. Il s'agit d'un état interrompu.
TASK_STATE_REJECTED Représente l'état dans lequel l'agent a décidé de ne pas effectuer la tâche. Cela peut être fait lors de la création initiale de la tâche ou plus tard, une fois qu'un agent a déterminé qu'il ne pouvait pas ou ne voulait pas continuer. Il s'agit d'un état final.
TASK_STATE_AUTH_REQUIRED Représente l'état dans lequel une authentification est nécessaire de la part du client en amont. L'authentification est censée être hors bande. Il ne s'agit donc pas d'un état interrompu ou terminal.

TaskStatus

Conteneur pour l'état d'une tâche

Champs
state

TaskState

État actuel de cette tâche

update

Message

Message associé à l'état.

timestamp

Timestamp

Code temporel de l'enregistrement de l'état. Exemple : "2023-10-27T10:00:00Z"

TaskStatusUpdateEvent

TaskStatusUpdateEvent est un événement delta sur une tâche indiquant qu'une tâche a été modifiée.

Champs
task_id

string

ID de la tâche modifiée

context_id

string

ID du contexte auquel appartient la tâche

status

TaskStatus

Nouvel état de la tâche.

final

bool

Indique s'il s'agit de la dernière mise à jour de l'état attendue pour cette tâche.

metadata

Struct

Métadonnées facultatives à associer à la mise à jour de la tâche.

TaskSubscriptionRequest

Champs
tenant

string

Locataire facultatif, fourni en tant que paramètre de chemin d'accès. Expérimental, peut encore changer pour la version 1.0.

name

string

Nom de ressource de la tâche à laquelle s'abonner. Format : tasks/{task_id}