- Rappresentazione JSON
- AgentInterface
- AgentProvider
- AgentCapabilities
- AgentExtension
- SecurityScheme
- APIKeySecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- DeviceCodeOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- SecurityRequirement
- StringList
- AgentSkill
- AgentCardSignature
Un manifest autodescrittivo per un agente. Fornisce metadati essenziali, tra cui l'identità, le funzionalità, le competenze, i metodi di comunicazione supportati e i requisiti di sicurezza dell'agente. ID successivo: 20
| Rappresentazione JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Campi | |
|---|---|
name |
Obbligatorio. Un nome leggibile per l'agente. Esempio: "Agente di ricette" |
description |
Obbligatorio. Una descrizione dell'agente leggibile da una persona, che aiuta gli utenti e gli altri agenti a comprenderne lo scopo. Esempio: "Agente che aiuta gli utenti con ricette e cucina". |
supportedInterfaces[] |
Obbligatorio. Elenco ordinato delle interfacce supportate. Viene preferita la prima voce. |
provider |
Il fornitore di servizi dell'agente. |
version |
Obbligatorio. La versione dell'agente. Esempio: "1.0.0" |
capabilities |
Obbligatorio. Set di funzionalità A2A supportato dall'agente. |
securitySchemes |
I dettagli dello schema di sicurezza utilizzati per l'autenticazione con questo agente. Un oggetto contenente un elenco di coppie |
securityRequirements[] |
Requisiti di sicurezza per contattare l'agente. |
defaultInputModes[] |
Obbligatorio. protolint:enable REPEATED_FIELD_NAMES_PLURALIZED L'insieme delle modalità di interazione supportate dall'agente in tutte le skill. Questa impostazione può essere ignorata per ogni skill. Definiti come tipi di media. |
defaultOutputModes[] |
Obbligatorio. I tipi di contenuti multimediali supportati come output da questo agente. |
skills[] |
Obbligatorio. Le skill rappresentano le capacità di un agente. Si tratta in gran parte di un concetto descrittivo, ma rappresenta un insieme più mirato di comportamenti in cui l'agente ha maggiori probabilità di riuscire. |
signatures[] |
Firme web JSON calcolate per questo |
documentationUrl |
Un URL che fornisce documentazione aggiuntiva sull'agente. |
iconUrl |
Facoltativo. Un URL a un'icona per l'agente. |
AgentInterface
Dichiara una combinazione di URL di destinazione, trasporto e versione del protocollo per l'interazione con l'agente. Ciò consente agli agenti di esporre la stessa funzionalità su più meccanismi di binding del protocollo.
| Rappresentazione JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Campi | |
|---|---|
url |
Obbligatorio. L'URL in cui è disponibile questa interfaccia. Deve essere un URL HTTPS assoluto valido nell'ambiente di produzione. Esempio: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Obbligatorio. Il binding del protocollo supportato a questo URL. Si tratta di una stringa di formato aperto, facilmente estendibile per altri binding di protocollo. Quelli principali supportati ufficialmente sono |
tenant |
Facoltativo. Una stringa opaca utilizzata per indirizzare le richieste a un agente o un tenant specifico quando più agenti vengono serviti dietro un singolo endpoint A2A. Se impostato, i client DEVONO includere questo valore nel campo |
protocolVersion |
Obbligatorio. La versione del protocollo A2A esposta da questa interfaccia. Utilizza l'ultima versione secondaria supportata per ogni versione principale. Esempi: "0.3", "1.0" |
AgentProvider
Rappresenta il fornitore di servizi di un agente.
| Rappresentazione JSON |
|---|
{ "url": string, "organization": string } |
| Campi | |
|---|---|
url |
Obbligatorio. Un URL per il sito web del fornitore dell'agente o la documentazione pertinente. Esempio: "https://ai.google.dev" |
organization |
Obbligatorio. Il nome dell'organizzazione del fornitore dell'agente. Esempio: "Google" |
AgentCapabilities
Definisce le funzionalità facoltative supportate da un agente.
| Rappresentazione JSON |
|---|
{
"extensions": [
{
object ( |
| Campi | |
|---|---|
extensions[] |
Un elenco delle estensioni del protocollo supportate dall'agente. |
streaming |
Indica se l'agente supporta le risposte in streaming. |
pushNotifications |
Indica se l'agente supporta l'invio di notifiche push per gli aggiornamenti delle attività asincrone. |
extendedAgentCard |
Indica se l'agente supporta la fornitura di una scheda dell'agente estesa dopo l'autenticazione. |
AgentExtension
Una dichiarazione di un'estensione del protocollo supportata da un agente.
| Rappresentazione JSON |
|---|
{ "uri": string, "description": string, "required": boolean, "params": { object } } |
| Campi | |
|---|---|
uri |
L'URI univoco che identifica l'estensione. |
description |
Una descrizione leggibile di come questo agente utilizza l'estensione. |
required |
Se il valore è vero, il client deve comprendere e rispettare i requisiti dell'estensione. |
params |
Facoltativo. Parametri di configurazione specifici dell'estensione. |
SecurityScheme
Definisce uno schema di sicurezza che può essere utilizzato per proteggere gli endpoint di un agente. Si tratta di un tipo di unione discriminata basato sull'oggetto schema di sicurezza OpenAPI 3.2. Vedi: https://spec.openapis.org/oas/v3.2.0.html#security-scheme-object
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione
|
|
apiKeySecurityScheme |
Autenticazione basata su chiave API. |
httpAuthSecurityScheme |
Autenticazione HTTP (Basic, Bearer e così via). |
oauth2SecurityScheme |
Autenticazione OAuth 2.0. |
openIdConnectSecurityScheme |
Autenticazione OpenID Connect. |
mtlsSecurityScheme |
Autenticazione TLS reciproca. |
APIKeySecurityScheme
Definisce uno schema di sicurezza utilizzando una chiave API.
| Rappresentazione JSON |
|---|
{ "description": string, "location": string, "name": string } |
| Campi | |
|---|---|
description |
Una descrizione facoltativa dello schema di sicurezza. |
location |
Obbligatorio. La posizione della chiave API. I valori validi sono "query", "header" o "cookie". |
name |
Obbligatorio. Il nome del parametro di intestazione, query o cookie da utilizzare. |
HTTPAuthSecurityScheme
Definisce uno schema di sicurezza utilizzando l'autenticazione HTTP.
| Rappresentazione JSON |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| Campi | |
|---|---|
description |
Una descrizione facoltativa dello schema di sicurezza. |
scheme |
Obbligatorio. Il nome dello schema di autenticazione HTTP da utilizzare nell'intestazione Authorization, come definito in RFC7235 (ad es. "Bearer"). Questo valore deve essere registrato nel registro degli schemi di autenticazione IANA. |
bearerFormat |
Un suggerimento al client per identificare il formato del token di autenticazione (ad es. "JWT"). Principalmente a scopo di documentazione. |
OAuth2SecurityScheme
Definisce uno schema di sicurezza utilizzando OAuth 2.0.
| Rappresentazione JSON |
|---|
{
"description": string,
"flows": {
object ( |
| Campi | |
|---|---|
description |
Una descrizione facoltativa dello schema di sicurezza. |
flows |
Obbligatorio. Un oggetto contenente le informazioni di configurazione per i flussi OAuth 2.0 supportati. |
oauth2MetadataUrl |
URL dei metadati del server di autorizzazione OAuth2 RFC 8414. TLS è obbligatorio. |
OAuthFlows
Definisce la configurazione per i flussi OAuth 2.0 supportati.
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione
|
|
authorizationCode |
Configurazione per il flusso del codice di autorizzazione OAuth. |
clientCredentials |
Configurazione per il flusso delle credenziali client OAuth. |
implicit |
Obsoleto: utilizza invece il codice di autorizzazione + PKCE. |
password |
Obsoleto: utilizza il codice di autorizzazione + PKCE o il codice dispositivo. |
deviceCode |
Configurazione del flusso del codice dispositivo OAuth. |
AuthorizationCodeOAuthFlow
Definisce i dettagli di configurazione per il flusso del codice di autorizzazione OAuth 2.0.
| Rappresentazione JSON |
|---|
{ "authorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... }, "pkceRequired": boolean } |
| Campi | |
|---|---|
authorizationUrl |
Obbligatorio. L'URL di autorizzazione da utilizzare per questo flusso. |
tokenUrl |
Obbligatorio. L'URL del token da utilizzare per questo flusso. |
refreshUrl |
L'URL da utilizzare per ottenere i token di aggiornamento. |
scopes |
Obbligatorio. Gli ambiti disponibili per lo schema di sicurezza OAuth2. Un oggetto contenente un elenco di coppie |
pkceRequired |
Indica se per questo flusso è richiesto PKCE (RFC 7636). PKCE deve essere sempre utilizzato per i client pubblici ed è consigliato per tutti i client. |
ClientCredentialsOAuthFlow
Definisce i dettagli di configurazione per il flusso delle credenziali client OAuth 2.0.
| Rappresentazione JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Campi | |
|---|---|
tokenUrl |
Obbligatorio. L'URL del token da utilizzare per questo flusso. |
refreshUrl |
L'URL da utilizzare per ottenere i token di aggiornamento. |
scopes |
Obbligatorio. Gli ambiti disponibili per lo schema di sicurezza OAuth2. Un oggetto contenente un elenco di coppie |
ImplicitOAuthFlow
Obsoleto: utilizza invece il codice di autorizzazione + PKCE.
| Rappresentazione JSON |
|---|
{ "authorizationUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Campi | |
|---|---|
authorizationUrl |
L'URL di autorizzazione da utilizzare per questo flusso. DEVE essere nel formato di un URL. Lo standard OAuth2 richiede l'utilizzo di TLS |
refreshUrl |
L'URL da utilizzare per ottenere i token di aggiornamento. DEVE essere nel formato di un URL. Lo standard OAuth2 richiede l'utilizzo di TLS. |
scopes |
Gli ambiti disponibili per lo schema di sicurezza OAuth2. Una mappatura tra il nome dell'ambito e una breve descrizione. La mappa POTREBBE essere vuota. Un oggetto contenente un elenco di coppie |
PasswordOAuthFlow
Obsoleto: utilizza il codice di autorizzazione + PKCE o il codice dispositivo.
| Rappresentazione JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Campi | |
|---|---|
tokenUrl |
L'URL del token da utilizzare per questo flusso. DEVE essere nel formato di un URL. Lo standard OAuth2 richiede l'utilizzo di TLS. |
refreshUrl |
L'URL da utilizzare per ottenere i token di aggiornamento. DEVE essere nel formato di un URL. Lo standard OAuth2 richiede l'utilizzo di TLS. |
scopes |
Gli ambiti disponibili per lo schema di sicurezza OAuth2. Una mappatura tra il nome dell'ambito e una breve descrizione. La mappa POTREBBE essere vuota. Un oggetto contenente un elenco di coppie |
DeviceCodeOAuthFlow
Definisce i dettagli di configurazione per il flusso del codice dispositivo OAuth 2.0 (RFC 8628). Questo flusso è progettato per dispositivi con limitazioni di input come i dispositivi IoT e gli strumenti CLI in cui l'utente esegue l'autenticazione su un dispositivo separato.
| Rappresentazione JSON |
|---|
{ "deviceAuthorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Campi | |
|---|---|
deviceAuthorizationUrl |
Obbligatorio. L'URL dell'endpoint di autorizzazione del dispositivo. |
tokenUrl |
Obbligatorio. L'URL del token da utilizzare per questo flusso. |
refreshUrl |
L'URL da utilizzare per ottenere i token di aggiornamento. |
scopes |
Obbligatorio. Gli ambiti disponibili per lo schema di sicurezza OAuth2. Un oggetto contenente un elenco di coppie |
OpenIdConnectSecurityScheme
Definisce uno schema di sicurezza utilizzando OpenID Connect.
| Rappresentazione JSON |
|---|
{ "description": string, "openIdConnectUrl": string } |
| Campi | |
|---|---|
description |
Una descrizione facoltativa dello schema di sicurezza. |
openIdConnectUrl |
Obbligatorio. L'URL Discovery OpenID Connect per i metadati del provider OIDC. |
MutualTlsSecurityScheme
Definisce uno schema di sicurezza utilizzando l'autenticazione mTLS.
| Rappresentazione JSON |
|---|
{ "description": string } |
| Campi | |
|---|---|
description |
Una descrizione facoltativa dello schema di sicurezza. |
SecurityRequirement
Definisce i requisiti di sicurezza per un agente.
| Rappresentazione JSON |
|---|
{
"schemes": {
string: {
object ( |
| Campi | |
|---|---|
schemes |
Una mappatura degli schemi di sicurezza agli ambiti richiesti. Un oggetto contenente un elenco di coppie |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED A list of strings.
| Rappresentazione JSON |
|---|
{ "list": [ string ] } |
| Campi | |
|---|---|
list[] |
I singoli valori di stringa. |
AgentSkill
Rappresenta una funzionalità o una funzione distinta che un agente può eseguire.
| Rappresentazione JSON |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"securityRequirements": [
{
object ( |
| Campi | |
|---|---|
id |
Obbligatorio. Un identificatore univoco per la competenza dell'agente. |
name |
Obbligatorio. Un nome leggibile per la competenza. |
description |
Obbligatorio. Una descrizione dettagliata della skill. |
tags[] |
Obbligatorio. Un insieme di parole chiave che descrivono le funzionalità della skill. |
examples[] |
Esempi di prompt o scenari che questa skill può gestire. |
inputModes[] |
Il set di tipi di contenuti multimediali di input supportati per questa skill, che sostituisce i valori predefiniti dell'agente. |
outputModes[] |
L'insieme dei tipi di contenuti multimediali di output supportati per questa skill, che sostituiscono i valori predefiniti dell'agente. |
securityRequirements[] |
Schemi di sicurezza necessari per questa skill. |
AgentCardSignature
AgentCardSignature rappresenta una firma JWS di una scheda dell'agente. Segue il formato JSON di una firma web JSON (JWS) RFC 7515.
| Rappresentazione JSON |
|---|
{ "protected": string, "signature": string, "header": { object } } |
| Campi | |
|---|---|
protected |
Obbligatorio. Obbligatorio. L'intestazione JWS protetta per la firma. Si tratta sempre di un oggetto JSON con codifica base64url. |
signature |
Obbligatorio. La firma calcolata, con codifica base64url. |
header |
I valori dell'intestazione JWS non protetta. |