- Rappresentazione JSON
- AgentInterface
- AgentProvider
- SecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- Sicurezza
- StringList
- AgentSkill
- AgentCardSignature
AgentCard trasmette informazioni chiave: - Dettagli generali (versione, nome, descrizione, utilizzi) - Competenze: un insieme di azioni/soluzioni che l'agente può eseguire - Modalità/tipi di contenuti predefiniti supportati dall'agente. - Requisiti di autenticazione Next ID: 19
| Rappresentazione JSON |
|---|
{ "protocolVersion": string, "name": string, "description": string, "url": string, "preferredTransport": string, "additionalInterfaces": [ { object ( |
| Campi | |
|---|---|
protocolVersion |
La versione del protocollo A2A supportata da questo agente. |
name |
Un nome leggibile per l'agente. Esempio: "Agente di ricette" |
description |
Una descrizione del dominio di azione/spazio delle soluzioni dell'agente. Esempio: "Agente che aiuta gli utenti con ricette e cucina". |
url |
Un URL all'indirizzo in cui è ospitato l'agente. Rappresenta l'endpoint preferito dichiarato dall'agente. |
preferredTransport |
Il trasporto dell'endpoint preferito. Se è vuoto, il valore predefinito è JSONRPC. |
additionalInterfaces[] |
Annuncio di trasporti aggiuntivi supportati. Il client può utilizzare uno qualsiasi dei trasporti supportati. |
provider |
Il fornitore di servizi dell'agente. |
version |
La versione dell'agente. Esempio: "1.0.0" |
documentationUrl |
Un URL per fornire ulteriore documentazione sull'agente. |
capabilities |
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 |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Requisiti di sicurezza per contattare l'agente. Questo elenco può essere considerato come un OR di AND. Ogni oggetto nell'elenco descrive un possibile insieme di requisiti di sicurezza che devono essere presenti in una richiesta. In questo modo, è possibile specificare, ad esempio, che "i chiamanti devono utilizzare OAuth O una chiave API E mTLS". Esempio: security { schemes { key: "oauth" value { list: ["read"] } } } security { schemes { key: "api-key" } schemes { key: "mtls" } } |
defaultInputModes[] |
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 MIME. |
defaultOutputModes[] |
I tipi MIME supportati come output di questo agente. |
skills[] |
Le competenze rappresentano un'unità di capacità che un agente può svolgere. Potrebbe sembrare un po' astratto, ma rappresenta un insieme più mirato di azioni che l'agente ha molte probabilità di portare a termine. |
supportsAuthenticatedExtendedCard |
Indica se l'agente supporta la fornitura di una scheda dell'agente estesa quando l'utente è autenticato, ovvero se la scheda di .well-known è diversa da quella di v1.getCard. |
signatures[] |
Firme web JSON calcolate per questa scheda dell'agente. |
iconUrl |
Un URL facoltativo a un'icona per l'agente. |
AgentInterface
Definisce informazioni di trasporto aggiuntive per l'agente.
| Rappresentazione JSON |
|---|
{ "url": string, "transport": string, "tenant": string } |
| Campi | |
|---|---|
url |
L'URL in cui si trova questa interfaccia. |
transport |
Il trasporto supporta questo URL. Si tratta di una stringa di modulo aperto, facilmente estendibile per molti protocolli di trasporto. Quelli principali supportati ufficialmente sono JSONRPC, GRPC e HTTP+JSON. |
tenant |
Tenant da impostare nella richiesta quando chiami l'agente. Sperimentale, potrebbe ancora cambiare per la release 1.0. |
AgentProvider
Rappresenta le informazioni sul fornitore di servizi di un agente.
| Rappresentazione JSON |
|---|
{ "url": string, "organization": string } |
| Campi | |
|---|---|
url |
L'URL di riferimento dei fornitori Esempio: "https://ai.google.dev" |
organization |
Il nome dell'organizzazione del fornitore. Esempio: "Google" |
SecurityScheme
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione
|
|
apiKeySecurityScheme |
|
httpAuthSecurityScheme |
|
oauth2SecurityScheme |
|
openIdConnectSecurityScheme |
|
mtlsSecurityScheme |
|
HTTPAuthSecurityScheme
| Rappresentazione JSON |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| Campi | |
|---|---|
description |
Descrizione di questo schema di sicurezza. |
scheme |
Il nome dello schema di autenticazione HTTP da utilizzare nell'intestazione Authorization come definito in RFC7235. I valori utilizzati DEVONO essere registrati nel registro degli schemi di autenticazione IANA. Il valore non fa distinzione tra maiuscole e minuscole, come definito nella RFC7235. |
bearerFormat |
Un suggerimento al client per identificare il formato del token di autenticazione. I token di tipo Bearer vengono in genere generati da un server di autorizzazione, quindi queste informazioni sono principalmente a scopo di documentazione. |
OAuth2SecurityScheme
| Rappresentazione JSON |
|---|
{
"description": string,
"flows": {
object ( |
| Campi | |
|---|---|
description |
Descrizione di questo schema di sicurezza. |
flows |
Un oggetto contenente le informazioni di configurazione per i tipi di flusso supportati |
oauth2MetadataUrl |
URL dei metadati del server di autorizzazione OAuth2 RFC8414. TLS è obbligatorio. |
OAuthFlows
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione
|
|
authorizationCode |
|
clientCredentials |
|
implicit |
|
password |
|
AuthorizationCodeOAuthFlow
| Rappresentazione JSON |
|---|
{ "authorizationUrl": string, "tokenUrl": 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 |
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 |
ClientCredentialsOAuthFlow
| 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 |
ImplicitOAuthFlow
| 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
| 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 |
OpenIdConnectSecurityScheme
| Rappresentazione JSON |
|---|
{ "description": string, "openIdConnectUrl": string } |
| Campi | |
|---|---|
description |
Descrizione di questo schema di sicurezza. |
openIdConnectUrl |
URL noto per scoprire i metadati del provider [[OpenID-Connect-Discovery]]. |
MutualTlsSecurityScheme
| Rappresentazione JSON |
|---|
{ "description": string } |
| Campi | |
|---|---|
description |
Descrizione di questo schema di sicurezza. |
Sicurezza
| Rappresentazione JSON |
|---|
{
"schemes": {
string: {
object ( |
| Campi | |
|---|---|
schemes |
Un oggetto contenente un elenco di coppie |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
| Rappresentazione JSON |
|---|
{ "list": [ string ] } |
| Campi | |
|---|---|
list[] |
|
AgentSkill
AgentSkill rappresenta un'unità di azione/soluzione che l'agente può eseguire. Si può pensare a questo come a un tipo di soluzione altamente affidabile che un agente può essere incaricato di fornire. Gli agenti hanno l'autonomia di scegliere come e quando utilizzare competenze specifiche, ma i client devono avere la certezza che, se la competenza è definita, l'unità di azione possa essere eseguita in modo affidabile.
| Rappresentazione JSON |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"security": [
{
object ( |
| Campi | |
|---|---|
id |
Identificatore univoco della skill all'interno di questo agente. |
name |
Un nome leggibile per la competenza. |
description |
Una descrizione leggibile da una persona (o da un LLM) dei dettagli e dei comportamenti della skill. |
tags[] |
Un insieme di tag per la competenza per migliorare la categorizzazione/l'utilizzo. Esempio: ["cooking", "customer support", "billing"] |
examples[] |
Un insieme di query di esempio a cui è destinata questa skill. Questi esempi dovrebbero aiutare il chiamante a capire come formulare le richieste all'agente per raggiungere obiettivi specifici. Esempio: ["Ho bisogno di una ricetta per il pane"] |
inputModes[] |
Modalità di input possibili supportate. |
outputModes[] |
Modalità di output possibili prodotte |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Schemi di sicurezza necessari all'agente per sfruttare questa skill. Come in AgentCard.security complessivo, questo elenco rappresenta un OR logico degli oggetti dei requisiti di sicurezza. Ogni oggetto è un insieme di schemi di sicurezza che devono essere utilizzati insieme (un AND logico). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED |
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. L'intestazione JWS protetta per la firma. Si tratta sempre di un oggetto JSON con codifica base64url. Obbligatorio. |
signature |
Obbligatorio. La firma calcolata, con codifica base64url. Obbligatorio. |
header |
I valori dell'intestazione JWS non protetta. |