- Representación JSON
- AgentInterface
- AgentProvider
- SecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- Seguridad
- StringList
- AgentSkill
- AgentCardSignature
AgentCard transmite información clave: - Detalles generales (versión, nombre, descripción, usos) - Habilidades: Conjunto de acciones o soluciones que el agente puede realizar - Modalidades predeterminadas o tipos de contenido admitidos por el agente. - Requisitos de autenticación Next ID: 19
| Representación JSON |
|---|
{ "protocolVersion": string, "name": string, "description": string, "url": string, "preferredTransport": string, "additionalInterfaces": [ { object ( |
| Campos | |
|---|---|
protocolVersion |
Es la versión del protocolo A2A que admite este agente. |
name |
Nombre del agente legible por humanos. Por ejemplo: "Agente de recetas". |
description |
Es una descripción del dominio de acción o el espacio de solución del agente. Ejemplo: "Agente que ayuda a los usuarios con recetas y cocina". |
url |
Es una URL a la dirección en la que se aloja el agente. Representa el extremo preferido según lo declaró el agente. |
preferredTransport |
Es el transporte del extremo preferido. Si está vacío, el valor predeterminado es JSONRPC. |
additionalInterfaces[] |
Anuncio de transportes adicionales admitidos. El cliente puede usar cualquiera de los transportes admitidos. |
provider |
Es el proveedor de servicios del agente. |
version |
Es la versión del agente. Ejemplo: "1.0.0" |
documentationUrl |
Es una URL que proporciona documentación adicional sobre el agente. |
capabilities |
Es el conjunto de capacidades de A2A que admite el agente. |
securitySchemes |
Son los detalles del esquema de seguridad que se usan para la autenticación con este agente. Un objeto que contiene una lista de pares |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Requisitos de seguridad para comunicarse con el agente. Esta lista se puede ver como un OR de ANDs. Cada objeto de la lista describe un conjunto posible de requisitos de seguridad que deben estar presentes en una solicitud. Esto permite especificar, por ejemplo, que "los llamadores deben usar OAuth O una clave de API Y mTLS". Ejemplo: security { schemes { key: "oauth" value { list: ["read"] } } } security { schemes { key: "api-key" } schemes { key: "mtls" } } |
defaultInputModes[] |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Es el conjunto de modos de interacción que admite el agente en todas las habilidades. Este parámetro se puede anular por habilidad. Se definen como tipos de MIME. |
defaultOutputModes[] |
Son los tipos de MIME admitidos como resultados de este agente. |
skills[] |
Las habilidades representan una unidad de capacidad que un agente puede realizar. Esto puede ser algo abstracto, pero representa un conjunto más enfocado de acciones en las que es muy probable que el agente tenga éxito. |
supportsAuthenticatedExtendedCard |
Indica si el agente admite proporcionar una tarjeta de agente extendida cuando el usuario se autentica, es decir, si la tarjeta de .well-known es diferente de la tarjeta de v1.getCard. |
signatures[] |
Son las firmas web JSON calculadas para esta AgentCard. |
iconUrl |
Es una URL opcional a un ícono del agente. |
AgentInterface
Define información de transporte adicional para el agente.
| Representación JSON |
|---|
{ "url": string, "transport": string, "tenant": string } |
| Campos | |
|---|---|
url |
Es la URL en la que se encuentra esta interfaz. |
transport |
El transporte admitió esta URL. Es una cadena de formulario abierto que se puede extender fácilmente para muchos protocolos de transporte. Los principales que se admiten oficialmente son JSONRPC, gRPC y HTTP+JSON. |
tenant |
Es el arrendatario que se establecerá en la solicitud cuando se llame al agente. Es experimental y podría cambiar para el lanzamiento de la versión 1.0. |
AgentProvider
Representa información sobre el proveedor de servicios de un agente.
| Representación JSON |
|---|
{ "url": string, "organization": string } |
| Campos | |
|---|---|
url |
URL de referencia de los proveedores. Ejemplo: "https://ai.google.dev" |
organization |
Nombre de la organización de proveedores. Ejemplo: "Google" |
SecurityScheme
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión
|
|
apiKeySecurityScheme |
|
httpAuthSecurityScheme |
|
oauth2SecurityScheme |
|
openIdConnectSecurityScheme |
|
mtlsSecurityScheme |
|
HTTPAuthSecurityScheme
| Representación JSON |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| Campos | |
|---|---|
description |
Es la descripción de este esquema de seguridad. |
scheme |
Nombre del esquema de autenticación HTTP que se usará en el encabezado de autorización, como se define en RFC7235. Los valores que se usen DEBEN registrarse en el registro de esquemas de autenticación de IANA. El valor no distingue mayúsculas de minúsculas, como se define en RFC7235. |
bearerFormat |
Es una sugerencia para que el cliente identifique el formato del token de portador. Los tokens de portador suelen generarse en un servidor de autorización, por lo que esta información se proporciona principalmente con fines de documentación. |
OAuth2SecurityScheme
| Representación JSON |
|---|
{
"description": string,
"flows": {
object ( |
| Campos | |
|---|---|
description |
Es la descripción de este esquema de seguridad. |
flows |
Objeto que contiene información de configuración para los tipos de flujo admitidos |
oauth2MetadataUrl |
URL de los metadatos del servidor de autorización de OAuth2 RFC8414. Se requiere TLS. |
OAuthFlows
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión
|
|
authorizationCode |
|
clientCredentials |
|
implicit |
|
password |
|
AuthorizationCodeOAuthFlow
| Representación JSON |
|---|
{ "authorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Campos | |
|---|---|
authorizationUrl |
Es la URL de autorización que se usará para este flujo. Debe tener el formato de una URL. El estándar de OAuth2 requiere el uso de TLS. |
tokenUrl |
Es la URL del token que se usará para este flujo. Debe tener el formato de una URL. El estándar de OAuth2 requiere el uso de TLS. |
refreshUrl |
Es la URL que se usará para obtener tokens de actualización. Debe tener el formato de una URL. El estándar de OAuth2 requiere el uso de TLS. |
scopes |
Son los permisos disponibles para el esquema de seguridad de OAuth2. Es un mapa entre el nombre del alcance y una descripción breve de este. El mapa PUEDE estar vacío. Un objeto que contiene una lista de pares |
ClientCredentialsOAuthFlow
| Representación JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Campos | |
|---|---|
tokenUrl |
Es la URL del token que se usará para este flujo. Debe tener el formato de una URL. El estándar de OAuth2 requiere el uso de TLS. |
refreshUrl |
Es la URL que se usará para obtener tokens de actualización. Debe tener el formato de una URL. El estándar de OAuth2 requiere el uso de TLS. |
scopes |
Son los permisos disponibles para el esquema de seguridad de OAuth2. Es un mapa entre el nombre del alcance y una descripción breve de este. El mapa PUEDE estar vacío. Un objeto que contiene una lista de pares |
ImplicitOAuthFlow
| Representación JSON |
|---|
{ "authorizationUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Campos | |
|---|---|
authorizationUrl |
Es la URL de autorización que se usará para este flujo. Debe tener el formato de una URL. El estándar de OAuth2 requiere el uso de TLS. |
refreshUrl |
Es la URL que se usará para obtener tokens de actualización. Debe tener el formato de una URL. El estándar de OAuth2 requiere el uso de TLS. |
scopes |
Son los permisos disponibles para el esquema de seguridad de OAuth2. Es un mapa entre el nombre del alcance y una descripción breve de este. El mapa PUEDE estar vacío. Un objeto que contiene una lista de pares |
PasswordOAuthFlow
| Representación JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Campos | |
|---|---|
tokenUrl |
Es la URL del token que se usará para este flujo. Debe tener el formato de una URL. El estándar de OAuth2 requiere el uso de TLS. |
refreshUrl |
Es la URL que se usará para obtener tokens de actualización. Debe tener el formato de una URL. El estándar de OAuth2 requiere el uso de TLS. |
scopes |
Son los permisos disponibles para el esquema de seguridad de OAuth2. Es un mapa entre el nombre del alcance y una descripción breve de este. El mapa PUEDE estar vacío. Un objeto que contiene una lista de pares |
OpenIdConnectSecurityScheme
| Representación JSON |
|---|
{ "description": string, "openIdConnectUrl": string } |
| Campos | |
|---|---|
description |
Es la descripción de este esquema de seguridad. |
openIdConnectUrl |
Es la URL conocida para descubrir los metadatos del proveedor de [[OpenID-Connect-Discovery]]. |
MutualTlsSecurityScheme
| Representación JSON |
|---|
{ "description": string } |
| Campos | |
|---|---|
description |
Es la descripción de este esquema de seguridad. |
Seguridad
| Representación JSON |
|---|
{
"schemes": {
string: {
object ( |
| Campos | |
|---|---|
schemes |
Un objeto que contiene una lista de pares |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
| Representación JSON |
|---|
{ "list": [ string ] } |
| Campos | |
|---|---|
list[] |
|
AgentSkill
AgentSkill representa una unidad de acción o solución que el agente puede realizar. Se puede pensar en esto como un tipo de solución altamente confiable que se le puede encargar a un agente. Los agentes tienen autonomía para elegir cómo y cuándo usar habilidades específicas, pero los clientes deben tener la certeza de que, si se define la habilidad, esa unidad de acción se puede realizar de manera confiable.
| Representación JSON |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"security": [
{
object ( |
| Campos | |
|---|---|
id |
Es el identificador único de la habilidad dentro de este agente. |
name |
Es un nombre legible para la habilidad. |
description |
Es una descripción legible por humanos (o por LLM) de los detalles y el comportamiento de la habilidad. |
tags[] |
Es un conjunto de etiquetas para que la skill mejore la categorización o el uso. Ejemplo: ["cocina", "asistencia al cliente", "facturación"] |
examples[] |
Es un conjunto de ejemplos de preguntas que esta skill está diseñada para responder. Estos ejemplos deberían ayudar a la persona que llama a comprender cómo formular solicitudes al agente para lograr objetivos específicos. Ejemplo: ["Necesito una receta de pan"] |
inputModes[] |
Son las modalidades de entrada posibles que se admiten. |
outputModes[] |
Modalidades de salida posibles que se producen |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Esquemas de seguridad necesarios para que el agente aproveche esta habilidad. Al igual que en el objeto AgentCard.security general, esta lista representa un OR lógico de los objetos de requisitos de seguridad. Cada objeto es un conjunto de esquemas de seguridad que se deben usar juntos (un AND lógico). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED |
AgentCardSignature
AgentCardSignature representa una firma JWS de una AgentCard. Sigue el formato JSON de una firma web JSON (JWS) de RFC 7515.
| Representación JSON |
|---|
{ "protected": string, "signature": string, "header": { object } } |
| Campos | |
|---|---|
protected |
Obligatorio. Es el encabezado JWS protegido para la firma. Siempre es un objeto JSON codificado en base64url. Obligatorio. |
signature |
Obligatorio. Es la firma calculada, codificada en base64url. Obligatorio. |
header |
Son los valores del encabezado JWS no protegido. |