- Representação JSON
- AgentInterface
- AgentProvider
- SecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- Segurança
- StringList
- AgentSkill
- AgentCardSignature
O AgentCard transmite informações importantes: - Detalhes gerais (versão, nome, descrição, usos) - Habilidades: um conjunto de ações/soluções que o agente pode realizar - Modalidades/tipos de conteúdo padrão compatíveis com o agente. - Requisitos de autenticação. Próximo ID: 19
| Representação JSON |
|---|
{ "protocolVersion": string, "name": string, "description": string, "url": string, "preferredTransport": string, "additionalInterfaces": [ { object ( |
| Campos | |
|---|---|
protocolVersion |
A versão do protocolo A2A compatível com este agente. |
name |
Um nome legível para o agente. Exemplo: "Agente de receitas" |
description |
Uma descrição do domínio de ação/espaço de solução do agente. Exemplo: "Agente que ajuda os usuários com receitas e culinária". |
url |
Um URL para o endereço em que o agente está hospedado. Isso representa o endpoint preferido declarado pelo agente. |
preferredTransport |
O transporte do endpoint preferido. Se estiver vazio, o padrão será JSONRPC. |
additionalInterfaces[] |
Anúncio de outros transportes compatíveis. O cliente pode usar qualquer um dos transportes compatíveis. |
provider |
O provedor de serviços do agente. |
version |
A versão do agente. Exemplo: "1.0.0" |
documentationUrl |
Um URL para fornecer mais documentação sobre o agente. |
capabilities |
Conjunto de recursos A2A compatível com o agente. |
securitySchemes |
Os detalhes do esquema de segurança usados para autenticar com esse agente. Um objeto com uma lista de pares |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Requisitos de segurança para entrar em contato com o agente. Essa lista pode ser vista como um OR de ANDs. Cada objeto na lista descreve um possível conjunto de requisitos de segurança que precisam estar presentes em uma solicitação. Isso permite especificar, por exemplo, "os autores da chamada precisam usar o OAuth OU uma chave de API E o mTLS". Exemplo: security { schemes { key: "oauth" value { list: ["read"] } } } security { schemes { key: "api-key" } schemes { key: "mtls" } } |
defaultInputModes[] |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED O conjunto de modos de interação que o agente oferece em todas as habilidades. Isso pode ser substituído por habilidade. Definidos como tipos MIME. |
defaultOutputModes[] |
Os tipos MIME aceitos como saídas desse agente. |
skills[] |
As habilidades representam uma unidade de capacidade que um agente pode realizar. Isso pode ser um pouco abstrato, mas representa um conjunto mais focado de ações que o agente tem grande probabilidade de realizar com sucesso. |
supportsAuthenticatedExtendedCard |
Indica se o agente oferece um card estendido quando o usuário está autenticado. Ou seja, o card de .well-known é diferente do card de v1.getCard. |
signatures[] |
Assinaturas da Web JSON calculadas para este AgentCard. |
iconUrl |
Um URL opcional para um ícone do agente. |
AgentInterface
Define informações de transporte adicionais para o agente.
| Representação JSON |
|---|
{ "url": string, "transport": string, "tenant": string } |
| Campos | |
|---|---|
url |
O URL em que essa interface é encontrada. |
transport |
O transporte aceitou este URL. Essa é uma string de formulário aberto, fácil de estender para muitos protocolos de transporte. Os principais com suporte oficial são JSONRPC, GRPC e HTTP+JSON. |
tenant |
Locatário a ser definido na solicitação ao chamar o agente. Experimental, ainda pode mudar para o lançamento da versão 1.0. |
AgentProvider
Representa informações sobre o provedor de serviços de um agente.
| Representação JSON |
|---|
{ "url": string, "organization": string } |
| Campos | |
|---|---|
url |
Exemplo de URL de referência dos provedores: "https://ai.google.dev" |
organization |
O nome da organização do provedor. Exemplo: "Google" |
SecurityScheme
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união
|
|
apiKeySecurityScheme |
|
httpAuthSecurityScheme |
|
oauth2SecurityScheme |
|
openIdConnectSecurityScheme |
|
mtlsSecurityScheme |
|
HTTPAuthSecurityScheme
| Representação JSON |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| Campos | |
|---|---|
description |
Descrição desse esquema de segurança. |
scheme |
O nome do esquema de autenticação HTTP a ser usado no cabeçalho de autorização, conforme definido na RFC7235. Os valores usados PRECISAM ser registrados no registro de esquema de autenticação da IANA. O valor não diferencia maiúsculas de minúsculas, conforme definido na RFC7235. |
bearerFormat |
Uma dica para o cliente identificar como o token de portador é formatado. Os tokens de portador geralmente são gerados por um servidor de autorização. Portanto, essas informações são principalmente para fins de documentação. |
OAuth2SecurityScheme
| Representação JSON |
|---|
{
"description": string,
"flows": {
object ( |
| Campos | |
|---|---|
description |
Descrição desse esquema de segurança. |
flows |
Um objeto que contém informações de configuração para os tipos de fluxo compatíveis. |
oauth2MetadataUrl |
URL dos metadados do servidor de autorização oauth2 RFC8414. O TLS é obrigatório. |
OAuthFlows
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união
|
|
authorizationCode |
|
clientCredentials |
|
implicit |
|
password |
|
AuthorizationCodeOAuthFlow
| Representação JSON |
|---|
{ "authorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Campos | |
|---|---|
authorizationUrl |
O URL de autorização a ser usado para esse fluxo. Ele PRECISA estar no formato de um URL. O padrão OAuth2 exige o uso de TLS. |
tokenUrl |
O URL do token a ser usado para esse fluxo. Precisa estar no formato de URL. O padrão OAuth2 exige o uso de TLS. |
refreshUrl |
O URL a ser usado para receber tokens de atualização. Precisa estar no formato de URL. O padrão OAuth2 exige o uso de TLS. |
scopes |
Os escopos disponíveis para o esquema de segurança OAuth2. Um mapa entre o nome do escopo e uma breve descrição dele. O mapa PODE estar vazio. Um objeto com uma lista de pares |
ClientCredentialsOAuthFlow
| Representação JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Campos | |
|---|---|
tokenUrl |
O URL do token a ser usado para esse fluxo. Precisa estar no formato de URL. O padrão OAuth2 exige o uso de TLS. |
refreshUrl |
O URL a ser usado para receber tokens de atualização. Precisa estar no formato de URL. O padrão OAuth2 exige o uso de TLS. |
scopes |
Os escopos disponíveis para o esquema de segurança OAuth2. Um mapa entre o nome do escopo e uma breve descrição dele. O mapa PODE estar vazio. Um objeto com uma lista de pares |
ImplicitOAuthFlow
| Representação JSON |
|---|
{ "authorizationUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Campos | |
|---|---|
authorizationUrl |
O URL de autorização a ser usado para esse fluxo. Ele PRECISA estar no formato de um URL. O padrão OAuth2 exige o uso de TLS. |
refreshUrl |
O URL a ser usado para receber tokens de atualização. Precisa estar no formato de URL. O padrão OAuth2 exige o uso de TLS. |
scopes |
Os escopos disponíveis para o esquema de segurança OAuth2. Um mapa entre o nome do escopo e uma breve descrição dele. O mapa PODE estar vazio. Um objeto com uma lista de pares |
PasswordOAuthFlow
| Representação JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Campos | |
|---|---|
tokenUrl |
O URL do token a ser usado para esse fluxo. Precisa estar no formato de URL. O padrão OAuth2 exige o uso de TLS. |
refreshUrl |
O URL a ser usado para receber tokens de atualização. Precisa estar no formato de URL. O padrão OAuth2 exige o uso de TLS. |
scopes |
Os escopos disponíveis para o esquema de segurança OAuth2. Um mapa entre o nome do escopo e uma breve descrição dele. O mapa PODE estar vazio. Um objeto com uma lista de pares |
OpenIdConnectSecurityScheme
| Representação JSON |
|---|
{ "description": string, "openIdConnectUrl": string } |
| Campos | |
|---|---|
description |
Descrição desse esquema de segurança. |
openIdConnectUrl |
URL conhecido para descobrir os metadados do provedor [[OpenID-Connect-Discovery]]. |
MutualTlsSecurityScheme
| Representação JSON |
|---|
{ "description": string } |
| Campos | |
|---|---|
description |
Descrição desse esquema de segurança. |
Segurança
| Representação JSON |
|---|
{
"schemes": {
string: {
object ( |
| Campos | |
|---|---|
schemes |
Um objeto com uma lista de pares |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
| Representação JSON |
|---|
{ "list": [ string ] } |
| Campos | |
|---|---|
list[] |
|
AgentSkill
"AgentSkill" representa uma unidade de ação/solução que o agente pode realizar. Isso pode ser considerado um tipo de solução altamente confiável que um agente pode ser encarregado de fornecer. Os agentes têm autonomia para escolher como e quando usar habilidades específicas, mas os clientes precisam ter confiança de que, se a habilidade for definida, essa unidade de ação poderá ser realizada de maneira confiável.
| Representação JSON |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"security": [
{
object ( |
| Campos | |
|---|---|
id |
Identificador exclusivo da habilidade no agente. |
name |
Um nome legível para a habilidade. |
description |
Uma descrição legível por humanos (ou LLM) dos detalhes e comportamentos da habilidade. |
tags[] |
Um conjunto de tags para a skill melhorar a categorização/utilização. Exemplo: ["cozinhar", "suporte ao cliente", "faturamento"] |
examples[] |
Um conjunto de exemplos de consultas que essa habilidade foi projetada para responder. Esses exemplos ajudam o usuário a entender como criar solicitações para o agente e alcançar metas específicas. Exemplo: ["Preciso de uma receita de pão"] |
inputModes[] |
Possíveis modalidades de entrada compatíveis. |
outputModes[] |
Possíveis modalidades de saída produzidas |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Esquemas de segurança necessários para o agente usar essa habilidade. Assim como em AgentCard.security, essa lista representa um OR lógico de objetos de requisito de segurança. Cada objeto é um conjunto de esquemas de segurança que precisam ser usados juntos (um AND lógico). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED |
AgentCardSignature
O AgentCardSignature representa uma assinatura JWS de um AgentCard. Isso segue o formato JSON de uma assinatura da Web JSON (JWS) RFC 7515.
| Representação JSON |
|---|
{ "protected": string, "signature": string, "header": { object } } |
| Campos | |
|---|---|
protected |
Obrigatório. O cabeçalho JWS protegido para a assinatura. Esse valor é sempre um objeto JSON codificado em base64url. Obrigatório. |
signature |
Obrigatório. A assinatura calculada, codificada em base64url. Obrigatório. |
header |
Os valores de cabeçalho JWS não protegidos. |