Package lf.a2a.v1

Indice

A2AService

Fornisce operazioni per interagire con gli agenti utilizzando il protocollo A2A.

CancelTask

rpc CancelTask(CancelTaskRequest) returns (Task)

Annulla un'attività in corso.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Per saperne di più, consulta la Authentication Overview.

CreateTaskPushNotificationConfig

rpc CreateTaskPushNotificationConfig(TaskPushNotificationConfig) returns (TaskPushNotificationConfig)

Crea una configurazione di notifiche push per un'attività.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Per saperne di più, consulta la Authentication Overview.

DeleteTaskPushNotificationConfig

rpc DeleteTaskPushNotificationConfig(DeleteTaskPushNotificationConfigRequest) returns (Empty)

Elimina una configurazione delle notifiche push per un'attività.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Per saperne di più, consulta la Authentication Overview.

GetExtendedAgentCard

rpc GetExtendedAgentCard(GetExtendedAgentCardRequest) returns (AgentCard)

Recupera la scheda dell'agente estesa per l'agente autenticato.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Per saperne di più, consulta la Authentication Overview.

GetTask

rpc GetTask(GetTaskRequest) returns (Task)

Recupera l'ultimo stato di un'attività.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Per saperne di più, consulta la Authentication Overview.

GetTaskPushNotificationConfig

rpc GetTaskPushNotificationConfig(GetTaskPushNotificationConfigRequest) returns (TaskPushNotificationConfig)

Recupera una configurazione di notifiche push per un'attività.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Per saperne di più, consulta la Authentication Overview.

ListTaskPushNotificationConfigs

rpc ListTaskPushNotificationConfigs(ListTaskPushNotificationConfigsRequest) returns (ListTaskPushNotificationConfigsResponse)

Visualizza un elenco di notifiche push configurate per un'attività.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Per saperne di più, consulta la Authentication Overview.

ListTasks

rpc ListTasks(ListTasksRequest) returns (ListTasksResponse)

Elenca le attività che corrispondono al filtro specificato.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Per saperne di più, consulta la Authentication Overview.

SendMessage

rpc SendMessage(SendMessageRequest) returns (SendMessageResponse)

Invia un messaggio a un agente.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Per saperne di più, consulta la Authentication Overview.

SendStreamingMessage

rpc SendStreamingMessage(SendMessageRequest) returns (StreamResponse)

Invia un messaggio di streaming a un agente, consentendo l'interazione in tempo reale e gli aggiornamenti di stato. Versione in streaming di SendMessage

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Per saperne di più, consulta la Authentication Overview.

SubscribeToTask

rpc SubscribeToTask(SubscribeToTaskRequest) returns (StreamResponse)

Esegue la sottoscrizione agli aggiornamenti delle attività che non si trovano in uno stato terminale. Restituisce UnsupportedOperationError se l'attività è già in uno stato terminale (completata, non riuscita, annullata, rifiutata).

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/ces

Per saperne di più, consulta la Authentication Overview.

APIKeySecurityScheme

Definisce uno schema di sicurezza utilizzando una chiave API.

Campi
description

string

Una descrizione facoltativa dello schema di sicurezza.

location

string

Obbligatorio. La posizione della chiave API. I valori validi sono "query", "header" o "cookie".

name

string

Obbligatorio. Il nome del parametro di intestazione, query o cookie da utilizzare.

AgentCapabilities

Definisce le funzionalità facoltative supportate da un agente.

Campi
extensions[]

AgentExtension

Un elenco delle estensioni del protocollo supportate dall'agente.

streaming

bool

Indica se l'agente supporta le risposte in streaming.

push_notifications

bool

Indica se l'agente supporta l'invio di notifiche push per gli aggiornamenti delle attività asincrone.

extended_agent_card

bool

Indica se l'agente supporta la fornitura di una scheda dell'agente estesa dopo l'autenticazione.

AgentCard

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

Campi
name

string

Obbligatorio. Un nome leggibile per l'agente. Esempio: "Agente di ricette"

description

string

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

supported_interfaces[]

AgentInterface

Obbligatorio. Elenco ordinato delle interfacce supportate. Viene preferita la prima voce.

provider

AgentProvider

Il fornitore di servizi dell'agente.

version

string

Obbligatorio. La versione dell'agente. Esempio: "1.0.0"

capabilities

AgentCapabilities

Obbligatorio. Set di funzionalità A2A supportato dall'agente.

security_schemes

map<string, SecurityScheme>

I dettagli dello schema di sicurezza utilizzati per l'autenticazione con questo agente.

security_requirements[]

SecurityRequirement

Requisiti di sicurezza per contattare l'agente.

default_input_modes[]

string

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.

default_output_modes[]

string

Obbligatorio. I tipi di contenuti multimediali supportati come output di questo agente.

skills[]

AgentSkill

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

AgentCardSignature

Firme web JSON calcolate per questo AgentCard.

documentation_url

string

Un URL che fornisce documentazione aggiuntiva sull'agente.

icon_url

string

Facoltativo. Un URL a un'icona per l'agente.

AgentCardSignature

AgentCardSignature rappresenta una firma JWS di una scheda dell'agente. Segue il formato JSON di una firma web JSON (JWS) RFC 7515.

Campi
protected

string

Obbligatorio. Obbligatorio. L'intestazione JWS protetta per la firma. Si tratta sempre di un oggetto JSON con codifica base64url.

signature

string

Obbligatorio. La firma calcolata, con codifica base64url.

header

Struct

I valori dell'intestazione JWS non protetta.

AgentExtension

Una dichiarazione di un'estensione del protocollo supportata da un agente.

Campi
uri

string

L'URI univoco che identifica l'estensione.

description

string

Una descrizione leggibile di come questo agente utilizza l'estensione.

required

bool

Se il valore è vero, il client deve comprendere e rispettare i requisiti dell'estensione.

params

Struct

Facoltativo. Parametri di configurazione specifici dell'estensione.

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 associazione del protocollo.

Campi
url

string

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"

protocol_binding

string

Obbligatorio. L'associazione del protocollo supportata a questo URL. Si tratta di una stringa di formato aperto, facilmente estendibile per altri binding di protocollo. Quelli principali supportati ufficialmente sono JSONRPC, GRPC e HTTP+JSON.

tenant

string

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 tenant di tutti i messaggi di richiesta inviati a questa interfaccia. Il server è responsabile dell'interpretazione del valore e dell'instradamento delle richieste di conseguenza; il protocollo non definisce il formato o la semantica.

protocol_version

string

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.

Campi
url

string

Obbligatorio. Un URL per il sito web del fornitore dell'agente o la documentazione pertinente. Esempio: "https://ai.google.dev"

organization

string

Obbligatorio. Il nome dell'organizzazione del fornitore dell'agente. Esempio: "Google"

AgentSkill

Rappresenta una funzionalità o una funzione distinta che un agente può eseguire.

Campi
id

string

Obbligatorio. Un identificatore univoco per la competenza dell'agente.

name

string

Obbligatorio. Un nome leggibile per la competenza.

description

string

Obbligatorio. Una descrizione dettagliata della skill.

tags[]

string

Obbligatorio. Un insieme di parole chiave che descrivono le funzionalità della skill.

examples[]

string

Esempi di prompt o scenari che questa skill può gestire.

input_modes[]

string

Il set di tipi di contenuti multimediali di input supportati per questa skill, che sostituisce i valori predefiniti dell'agente.

output_modes[]

string

L'insieme dei tipi di contenuti multimediali di output supportati per questa skill, che sostituiscono i valori predefiniti dell'agente.

security_requirements[]

SecurityRequirement

Schemi di sicurezza necessari per questa skill.

Artefatto

Gli artefatti rappresentano gli output delle attività.

Campi
artifact_id

string

Obbligatorio. Identificatore univoco (ad es. UUID) dell'artefatto. Deve essere univoco all'interno di un'attività.

name

string

Un nome leggibile per l'artefatto.

description

string

Facoltativo. Una descrizione dell'artefatto leggibile da una persona.

parts[]

Part

Obbligatorio. I contenuti dell'elemento. Deve contenere almeno una parte.

metadata

Struct

Facoltativo. Metadati inclusi nell'artefatto.

extensions[]

string

Gli URI delle estensioni presenti o che hanno contribuito a questo artefatto.

AuthenticationInfo

Definisce i dettagli di autenticazione, utilizzati per le notifiche push.

Campi
scheme

string

Obbligatorio. Schema di autenticazione HTTP del registro IANA. Esempi: Bearer, Basic, Digest. I nomi degli schemi non fanno distinzione tra maiuscole e minuscole, come indicato nella sezione 11.1 della RFC 9110.

credentials

string

Credenziali di notifica push. Il formato dipende dallo schema (ad es. token per Bearer).

AuthorizationCodeOAuthFlow

Definisce i dettagli di configurazione per il flusso del codice di autorizzazione OAuth 2.0.

Campi
authorization_url

string

Obbligatorio. L'URL di autorizzazione da utilizzare per questo flusso.

token_url

string

Obbligatorio. L'URL del token da utilizzare per questo flusso.

refresh_url

string

L'URL da utilizzare per ottenere i token di aggiornamento.

scopes

map<string, string>

Obbligatorio. Gli ambiti disponibili per lo schema di sicurezza OAuth2.

pkce_required

bool

Indica se per questo flusso è richiesto PKCE (RFC 7636). PKCE deve essere sempre utilizzato per i client pubblici ed è consigliato per tutti i client.

CancelTaskRequest

Rappresenta una richiesta per il metodo CancelTask.

Campi
tenant

string

Facoltativo. Identificatore di routing opaco. Deve corrispondere al valore tenant del AgentInterface selezionato nella scheda dell'agente quando questo campo è impostato.

id

string

Obbligatorio. L'ID risorsa dell'attività da annullare.

metadata

Struct

Una mappa flessibile di coppie chiave-valore per passare parametri o contesto aggiuntivi.

ClientCredentialsOAuthFlow

Definisce i dettagli di configurazione per il flusso delle credenziali client OAuth 2.0.

Campi
token_url

string

Obbligatorio. L'URL del token da utilizzare per questo flusso.

refresh_url

string

L'URL da utilizzare per ottenere i token di aggiornamento.

scopes

map<string, string>

Obbligatorio. Gli ambiti disponibili per lo schema di sicurezza OAuth2.

DeleteTaskPushNotificationConfigRequest

Rappresenta una richiesta per il metodo DeleteTaskPushNotificationConfig.

Campi
tenant

string

Facoltativo. Identificatore di routing opaco. Deve corrispondere al valore tenant del AgentInterface selezionato nella scheda dell'agente quando questo campo è impostato.

task_id

string

Obbligatorio. L'ID risorsa dell'attività padre.

id

string

Obbligatorio. L'ID risorsa della configurazione da eliminare.

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.

Campi
device_authorization_url

string

Obbligatorio. L'URL dell'endpoint di autorizzazione del dispositivo.

token_url

string

Obbligatorio. L'URL del token da utilizzare per questo flusso.

refresh_url

string

L'URL da utilizzare per ottenere i token di aggiornamento.

scopes

map<string, string>

Obbligatorio. Gli ambiti disponibili per lo schema di sicurezza OAuth2.

GetExtendedAgentCardRequest

Rappresenta una richiesta per il metodo GetExtendedAgentCard.

Campi
tenant

string

Facoltativo. Identificatore di routing opaco. Deve corrispondere al valore tenant del AgentInterface selezionato nella scheda dell'agente quando questo campo è impostato.

GetTaskPushNotificationConfigRequest

Rappresenta una richiesta per il metodo GetTaskPushNotificationConfig.

Campi
tenant

string

Facoltativo. Identificatore di routing opaco. Deve corrispondere al valore tenant del AgentInterface selezionato nella scheda dell'agente quando questo campo è impostato.

task_id

string

Obbligatorio. L'ID risorsa dell'attività padre.

id

string

Obbligatorio. L'ID risorsa della configurazione da recuperare.

GetTaskRequest

Rappresenta una richiesta per il metodo GetTask.

Campi
tenant

string

Facoltativo. Identificatore di routing opaco. Deve corrispondere al valore tenant del AgentInterface selezionato nella scheda dell'agente quando questo campo è impostato.

id

string

Obbligatorio. L'ID risorsa dell'attività da recuperare.

history_length

int32

Il numero massimo di messaggi più recenti della cronologia dell'attività da recuperare. Un valore non impostato indica che il client non impone alcun limite. Un valore pari a zero indica una richiesta di non includere alcun messaggio. Il server NON DEVE restituire più messaggi del valore fornito, ma PUÒ applicare un limite inferiore.

HTTPAuthSecurityScheme

Definisce uno schema di sicurezza utilizzando l'autenticazione HTTP.

Campi
description

string

Una descrizione facoltativa dello schema di sicurezza.

scheme

string

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.

bearer_format

string

Un suggerimento per il client per identificare il formato del token di autenticazione (ad es. "JWT"). Principalmente a scopo di documentazione.

ImplicitOAuthFlow

Obsoleto: utilizza invece il codice di autorizzazione + PKCE.

Campi
authorization_url

string

L'URL di autorizzazione da utilizzare per questo flusso. DEVE essere nel formato di un URL. Lo standard OAuth2 richiede l'utilizzo di TLS

refresh_url

string

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

map<string, string>

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.

ListTaskPushNotificationConfigsRequest

Rappresenta una richiesta per il metodo ListTaskPushNotificationConfigs.

Campi
tenant

string

Facoltativo. Identificatore di routing opaco. Deve corrispondere al valore tenant del AgentInterface selezionato nella scheda dell'agente quando questo campo è impostato.

task_id

string

Obbligatorio. L'ID risorsa dell'attività padre.

page_size

int32

Il numero massimo di configurazioni da restituire.

page_token

string

Un token di pagina ricevuto da una precedente chiamata ListTaskPushNotificationConfigsRequest.

ListTaskPushNotificationConfigsResponse

Rappresenta una risposta positiva per il metodo ListTaskPushNotificationConfigs.

Campi
configs[]

TaskPushNotificationConfig

L'elenco delle configurazioni delle notifiche push.

next_page_token

string

Un token per recuperare la pagina successiva dei risultati o vuoto se non ci sono altri risultati nell'elenco.

ListTasksRequest

Parametri per elencare le attività con criteri di filtro facoltativi.

Campi
tenant

string

Facoltativo. Identificatore di routing opaco. Deve corrispondere al valore tenant del AgentInterface selezionato nella scheda dell'agente quando questo campo è impostato.

context_id

string

Filtra le attività in base all'ID contesto per ottenere le attività di una conversazione o sessione specifica.

status

TaskState

Filtra le attività in base al loro stato attuale.

page_token

string

Un token di pagina ricevuto da una precedente chiamata ListTasks. ListTasksResponse.next_page_token. Forniscilo per recuperare la pagina successiva.

status_timestamp_after

Timestamp

Filtra le attività il cui stato è stato aggiornato dopo il timestamp fornito in formato ISO 8601 (ad es. "2023-10-27T10:00:00Z"). Verranno restituite solo le attività con un timestamp di stato maggiore o uguale a questo valore.

page_size

int32

Il numero massimo di attività da restituire. Il servizio potrebbe restituire un numero inferiore a questo valore. Se non specificato, verranno restituite al massimo 50 attività. Il valore minimo è 1. Il valore massimo è 100.

history_length

int32

Il numero massimo di messaggi da includere nella cronologia di ogni attività.

include_artifacts

bool

Indica se includere gli artefatti nelle attività restituite. Il valore predefinito è false per ridurre le dimensioni del payload.

ListTasksResponse

Oggetto risultato per il metodo ListTasks contenente un array di attività e informazioni di paginazione.

Campi
tasks[]

Task

Obbligatorio. Array di attività che corrispondono ai criteri specificati.

next_page_token

string

Obbligatorio. Un token per recuperare la pagina successiva dei risultati o vuoto se non ci sono altri risultati nell'elenco.

page_size

int32

Obbligatorio. Le dimensioni della pagina utilizzate per questa risposta.

total_size

int32

Obbligatorio. Numero totale di attività disponibili (prima della paginazione).

Messaggio

Message è un'unità di comunicazione tra client e server. Può essere associato a un contesto e/o a un'attività. Per i messaggi del server, è necessario fornire context_id e task_id solo se è stata creata un'attività. Per i messaggi del client, entrambi i campi sono facoltativi, con l'avvertenza che, se vengono forniti entrambi, devono corrispondere (context_id deve essere quello impostato nell'attività). Se viene fornito solo task_id, il server dedurrà context_id.

Campi
message_id

string

Obbligatorio. L'identificatore univoco (ad es. UUID) del messaggio. Viene creato dall'autore del messaggio.

context_id

string

Facoltativo. L'ID contesto del messaggio. Se impostato, il messaggio verrà associato al contesto specificato.

task_id

string

Facoltativo. L'ID attività del messaggio. Se impostato, il messaggio verrà associato all'attività specificata.

role

Role

Obbligatorio. Identifica il mittente del messaggio.

parts[]

Part

Obbligatorio. Parts è il contenitore dei contenuti del messaggio.

metadata

Struct

Facoltativo. Eventuali metadati da fornire insieme al messaggio.

extensions[]

string

Gli URI delle estensioni presenti o che hanno contribuito a questo messaggio.

reference_task_ids[]

string

Un elenco di ID attività a cui fa riferimento questo messaggio per un contesto aggiuntivo.

MutualTlsSecurityScheme

Definisce uno schema di sicurezza utilizzando l'autenticazione mTLS.

Campi
description

string

Una descrizione facoltativa dello schema di sicurezza.

OAuth2SecurityScheme

Definisce uno schema di sicurezza utilizzando OAuth 2.0.

Campi
description

string

Una descrizione facoltativa dello schema di sicurezza.

flows

OAuthFlows

Obbligatorio. Un oggetto contenente le informazioni di configurazione per i flussi OAuth 2.0 supportati.

oauth2_metadata_url

string

URL dei metadati del server di autorizzazione OAuth2 RFC 8414. TLS è obbligatorio.

OAuthFlows

Definisce la configurazione per i flussi OAuth 2.0 supportati.

Campi

Campo unione flow.

flow può essere solo uno dei seguenti tipi:

authorization_code

AuthorizationCodeOAuthFlow

Configurazione per il flusso del codice di autorizzazione OAuth.

client_credentials

ClientCredentialsOAuthFlow

Configurazione per il flusso delle credenziali client OAuth.

implicit
(deprecated)

ImplicitOAuthFlow

Obsoleto: utilizza invece il codice di autorizzazione + PKCE.

password
(deprecated)

PasswordOAuthFlow

Ritirato: utilizza il codice di autorizzazione + PKCE o il codice dispositivo.

device_code

DeviceCodeOAuthFlow

Configurazione del flusso del codice dispositivo OAuth.

OpenIdConnectSecurityScheme

Definisce uno schema di sicurezza utilizzando OpenID Connect.

Campi
description

string

Una descrizione facoltativa dello schema di sicurezza.

open_id_connect_url

string

Obbligatorio. L'URL Discovery OpenID Connect per i metadati del provider OIDC.

Parte

Part rappresenta un contenitore per una sezione di contenuti di comunicazione. Le parti possono essere puramente testuali, un tipo di file (immagine, video e così via) o un blob di dati strutturati (ad es. JSON).

Campi
metadata

Struct

(Facoltativo) Metadati associati a questa parte.

filename

string

Un filename facoltativo per il file (ad es. "documento.pdf").

media_type

string

Il media_type (tipo MIME) dei contenuti della parte (ad es. "text/plain", "application/json", "image/png"). Questo campo è disponibile per tutti i tipi di parti.

Campo unione content.

content può essere solo uno dei seguenti tipi:

text

string

Il contenuto della stringa della parte text.

raw

bytes

I contenuti di un file in byte raw. Nella serializzazione JSON, questo valore viene codificato come stringa base64.

url

string

Un url che punta ai contenuti del file.

data

Value

data strutturato arbitrario come valore JSON (oggetto, array, stringa, numero, booleano o null).

PasswordOAuthFlow

Ritirato: utilizza il codice di autorizzazione + PKCE o il codice dispositivo.

Campi
token_url

string

L'URL del token da utilizzare per questo flusso. DEVE essere nel formato di un URL. Lo standard OAuth2 richiede l'utilizzo di TLS.

refresh_url

string

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

map<string, string>

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.

Ruolo

Definisce il mittente di un messaggio nella comunicazione del protocollo A2A.

Enum
ROLE_UNSPECIFIED Il ruolo non è specificato.
ROLE_USER Il messaggio viene inviato dal client al server.
ROLE_AGENT Il messaggio viene inviato dal server al client.

SecurityRequirement

Definisce i requisiti di sicurezza per un agente.

Campi
schemes

map<string, StringList>

Una mappatura degli schemi di sicurezza agli ambiti richiesti.

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

Campi

Campo unione scheme.

scheme può essere solo uno dei seguenti tipi:

api_key_security_scheme

APIKeySecurityScheme

Autenticazione basata su chiave API.

http_auth_security_scheme

HTTPAuthSecurityScheme

Autenticazione HTTP (Basic, Bearer e così via).

oauth2_security_scheme

OAuth2SecurityScheme

Autenticazione OAuth 2.0.

open_id_connect_security_scheme

OpenIdConnectSecurityScheme

Autenticazione OpenID Connect.

mtls_security_scheme

MutualTlsSecurityScheme

Autenticazione TLS reciproca.

SendMessageConfiguration

Configurazione di una richiesta di invio di messaggi.

Campi
accepted_output_modes[]

string

Un elenco dei tipi di contenuti multimediali che il cliente è disposto ad accettare per le parti della risposta. Gli agenti DEVONO utilizzarlo per personalizzare l'output.

task_push_notification_config

TaskPushNotificationConfig

Configurazione dell'agente per l'invio di notifiche push per gli aggiornamenti delle attività. L'ID attività deve essere vuoto quando invii questa configurazione in una richiesta SendMessage.

return_immediately

bool

Se true, l'operazione viene restituita immediatamente dopo la creazione dell'attività, anche se l'elaborazione è ancora in corso. Se false (impostazione predefinita), l'operazione DEVE attendere che l'attività raggiunga uno stato terminale (COMPLETED, FAILED, CANCELED, REJECTED) o interrotto (INPUT_REQUIRED, AUTH_REQUIRED) prima di essere restituita.

history_length

int32

Il numero massimo di messaggi più recenti della cronologia dell'attività da recuperare nella risposta. Un valore non impostato indica che il client non impone alcun limite. Un valore pari a zero indica una richiesta di non includere alcun messaggio. Il server NON DEVE restituire più messaggi del valore fornito, ma PUÒ applicare un limite inferiore.

SendMessageRequest

Rappresenta una richiesta per il metodo SendMessage.

Campi
tenant

string

Facoltativo. Identificatore di routing opaco. Deve corrispondere al valore tenant del AgentInterface selezionato nella scheda dell'agente quando questo campo è impostato.

message

Message

Obbligatorio. Il messaggio da inviare all'agente.

configuration

SendMessageConfiguration

Configurazione per l'invio della richiesta.

metadata

Struct

Una mappa flessibile di coppie chiave-valore per passare parametri o contesto aggiuntivi.

SendMessageResponse

Rappresenta la risposta per il metodo SendMessage.

Campi
Campo unione payload. Il payload della risposta. payload può essere solo uno dei seguenti tipi:
task

Task

L'attività creata o aggiornata dal messaggio.

message

Message

Un messaggio dell'agente.

StreamResponse

Un oggetto wrapper utilizzato nelle operazioni di streaming per incapsulare diversi tipi di dati di risposta.

Campi
Campo unione payload. Il payload della risposta dello stream. payload può essere solo uno dei seguenti tipi:
task

Task

Un oggetto Task contenente lo stato attuale dell'attività.

message

Message

Un oggetto Message contenente un messaggio dell'agente.

status_update

TaskStatusUpdateEvent

Un evento che indica un aggiornamento dello stato dell'attività.

artifact_update

TaskArtifactUpdateEvent

Un evento che indica un aggiornamento dell'artefatto dell'attività.

StringList

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED A list of strings.

Campi
list[]

string

I singoli valori di stringa.

SubscribeToTaskRequest

Rappresenta una richiesta per il metodo SubscribeToTask.

Campi
tenant

string

Facoltativo. Identificatore di routing opaco. Deve corrispondere al valore tenant del AgentInterface selezionato nella scheda dell'agente quando questo campo è impostato.

id

string

Obbligatorio. L'ID risorsa dell'attività a cui abbonarsi.

Attività

Task è l'unità di azione principale per A2A. Ha uno stato attuale e quando vengono creati i risultati per l'attività, questi vengono archiviati nell'artefatto. Se ci sono più turni per un'attività, questi vengono memorizzati nella cronologia.

Campi
id

string

Obbligatorio. Identificatore univoco (ad es. UUID) per l'attività, generato dal server per una nuova attività.

context_id

string

Identificatore univoco (ad es. UUID) per la raccolta contestuale di interazioni (attività e messaggi).

status

TaskStatus

Obbligatorio. Lo stato attuale di un Task, inclusi state e un message.

artifacts[]

Artifact

Un insieme di artefatti di output per un Task.

history[]

Message

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED La cronologia delle interazioni da un Task.

metadata

Struct

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task.

TaskArtifactUpdateEvent

Un delta dell'attività in cui è stato generato un artefatto.

Campi
task_id

string

Obbligatorio. L'ID dell'attività per questo artefatto.

context_id

string

Obbligatorio. L'ID del contesto a cui appartiene questa attività.

artifact

Artifact

Obbligatorio. L'artefatto generato o aggiornato.

append

bool

Se true, i contenuti di questo artefatto devono essere aggiunti a un artefatto inviato in precedenza con lo stesso ID.

last_chunk

bool

Se impostato su true, questo è l'ultimo blocco dell'artefatto.

metadata

Struct

Facoltativo. Metadati associati all'aggiornamento dell'artefatto.

TaskPushNotificationConfig

Un contenitore che associa una configurazione di notifica push a un'attività specifica.

Campi
tenant

string

Facoltativo. Identificatore di routing opaco. Deve corrispondere al valore tenant del AgentInterface selezionato nella scheda dell'agente quando questo campo è impostato.

id

string

I dettagli di configurazione delle notifiche push. Un identificatore univoco (ad es. UUID) per questa configurazione delle notifiche push.

task_id

string

L'ID dell'attività a cui è associata questa configurazione.

url

string

Obbligatorio. L'URL a cui deve essere inviata la notifica.

token

string

Un token univoco per questa attività o sessione.

authentication

AuthenticationInfo

Informazioni di autenticazione necessarie per inviare la notifica.

TaskState

Definisce i possibili stati del ciclo di vita di un Task.

Enum
TASK_STATE_UNSPECIFIED L'attività è in uno stato sconosciuto o indeterminato.
TASK_STATE_SUBMITTED Indica che un'attività è stata inviata e confermata correttamente.
TASK_STATE_WORKING Indica che un'attività è in fase di elaborazione attiva da parte dell'agente.
TASK_STATE_COMPLETED Indica che un'attività è stata completata correttamente. Si tratta di uno stato terminale.
TASK_STATE_FAILED Indica che un'attività è stata completata con un errore. Si tratta di uno stato terminale.
TASK_STATE_CANCELED Indica che un'attività è stata annullata prima del completamento. Si tratta di uno stato terminale.
TASK_STATE_INPUT_REQUIRED Indica che l'agente richiede un input utente aggiuntivo per procedere. Si tratta di uno stato interrotto.
TASK_STATE_REJECTED Indica che l'agente ha deciso di non eseguire l'attività. Questa operazione può essere eseguita durante la creazione iniziale dell'attività o in un secondo momento, una volta che l'agente ha stabilito che non può o non vuole procedere. Si tratta di uno stato terminale.
TASK_STATE_AUTH_REQUIRED Indica che per procedere è necessaria l'autenticazione. Si tratta di uno stato interrotto.

TaskStatus

Un contenitore per lo stato di un'attività

Campi
state

TaskState

Obbligatorio. Lo stato attuale di questa attività.

message

Message

Un messaggio associato allo stato.

timestamp

Timestamp

Timestamp ISO 8601 della registrazione dello stato. Esempio: "2023-10-27T10:00:00Z"

TaskStatusUpdateEvent

Un evento inviato dall'agente per comunicare al cliente una modifica dello stato di un'attività.

Campi
task_id

string

Obbligatorio. L'ID dell'attività modificata.

context_id

string

Obbligatorio. L'ID del contesto a cui appartiene l'attività.

status

TaskStatus

Obbligatorio. Il nuovo stato dell'attività.

metadata

Struct

Facoltativo. Metadati associati all'aggiornamento dell'attività.