Package a2a.v1

Indice

A2AService

A2AService definisce la versione gRPC del protocollo A2A. Ha una forma leggermente diversa rispetto alla versione JSONRPC per conformarsi meglio ad AIP-127, ove opportuno. I sostantivi sono AgentCard, Message, Task e TaskPushNotificationConfig.

  • I messaggi non sono una risorsa standard, quindi non esiste un'interfaccia get/delete/update/list, ma solo metodi personalizzati di invio e streaming.
  • Le attività hanno un'interfaccia get e metodi personalizzati di annullamento e iscrizione.
  • TaskPushNotificationConfig è una risorsa il cui elemento padre è un'attività. Hanno metodi get, list e create.
  • AgentCard è una risorsa statica con un solo metodo get.
CancelTask

rpc CancelTask(CancelTaskRequest) returns (Task)

Annulla un'attività dall'agente. Se supportata, non dovrebbero essere previsti ulteriori aggiornamenti per l'attività.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

Per saperne di più, consulta la Authentication Overview.

CreateTaskPushNotificationConfig

rpc CreateTaskPushNotificationConfig(CreateTaskPushNotificationConfigRequest) returns (TaskPushNotificationConfig)

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

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

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 il seguente ambito OAuth:

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

Per saperne di più, consulta la Authentication Overview.

GetAgentCard

rpc GetAgentCard(GetAgentCardRequest) returns (AgentCard)

GetAgentCard restituisce la scheda dell'agente.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

Per saperne di più, consulta la Authentication Overview.

GetTask

rpc GetTask(GetTaskRequest) returns (Task)

Ottieni lo stato attuale di un'attività dall'agente.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

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 il seguente ambito OAuth:

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

Per saperne di più, consulta la Authentication Overview.

ListTaskPushNotificationConfig

rpc ListTaskPushNotificationConfig(ListTaskPushNotificationConfigRequest) returns (ListTaskPushNotificationConfigResponse)

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

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

Per saperne di più, consulta la Authentication Overview.

SendMessage

rpc SendMessage(SendMessageRequest) returns (SendMessageResponse)

Invia un messaggio all'agente. Si tratta di una chiamata bloccante che restituirà l'attività una volta completata o un'operazione di lunga durata, se richiesta.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

Per saperne di più, consulta la Authentication Overview.

SendStreamingMessage

rpc SendStreamingMessage(SendMessageRequest) returns (StreamResponse)

SendStreamingMessage è una chiamata di streaming che restituisce un flusso di eventi di aggiornamento dell'attività finché l'attività non si trova in uno stato interrotto o terminale.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

Per saperne di più, consulta la Authentication Overview.

TaskSubscription

rpc TaskSubscription(TaskSubscriptionRequest) returns (StreamResponse)

TaskSubscription è una chiamata di streaming che restituisce un flusso di eventi di aggiornamento delle attività. Lo stream viene allegato a un'attività in corso esistente. Se l'attività è completata, lo stream restituirà l'attività completata (come GetTask) e chiuderà lo stream.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

Per saperne di più, consulta la Authentication Overview.

APIKeySecurityScheme

Campi
description

string

Descrizione di questo schema di sicurezza.

location

string

Posizione della chiave API. I valori validi sono "query", "header" o "cookie".

name

string

Nome del parametro di intestazione, query o cookie da utilizzare.

AgentCapabilities

Definisce il set di funzionalità A2A supportato dall'agente

Campi
streaming

bool

Se l'agente supporterà le risposte in streaming

push_notifications

bool

Se l'agente può inviare notifiche push al webhook del cliente

extensions[]

AgentExtension

Estensioni supportate da questo agente.

AgentCard

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

Campi
protocol_version

string

La versione del protocollo A2A supportata da questo agente.

name

string

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

description

string

Una descrizione del dominio di azione/spazio delle soluzioni dell'agente. Esempio: "Agente che aiuta gli utenti con ricette e cucina".

url

string

Un URL all'indirizzo in cui è ospitato l'agente. Rappresenta l'endpoint preferito dichiarato dall'agente.

preferred_transport

string

Il trasporto dell'endpoint preferito. Se è vuoto, il valore predefinito è JSONRPC.

additional_interfaces[]

AgentInterface

Annuncio di trasporti aggiuntivi supportati. Il client può utilizzare uno qualsiasi dei trasporti supportati.

provider

AgentProvider

Il fornitore di servizi dell'agente.

version

string

La versione dell'agente. Esempio: "1.0.0"

documentation_url

string

Un URL per fornire documentazione aggiuntiva sull'agente.

capabilities

AgentCapabilities

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

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

default_input_modes[]

string

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.

default_output_modes[]

string

I tipi MIME supportati come output di questo agente.

skills[]

AgentSkill

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.

supports_authenticated_extended_card

bool

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

signatures[]

AgentCardSignature

Firme web JSON calcolate per questa scheda dell'agente.

icon_url

string

Un URL facoltativo 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. L'intestazione JWS protetta per la firma. Si tratta sempre di un oggetto JSON con codifica base64url. Obbligatorio.

signature

string

Obbligatorio. La firma calcolata, con codifica base64url. Obbligatorio.

header

Struct

I valori dell'intestazione JWS non protetta.

AgentExtension

Una dichiarazione di un'estensione supportata da un agente.

Campi
uri

string

L'URI dell'estensione. Esempio: "https://developers.google.com/identity/protocols/oauth2"

description

string

Una descrizione di come questo agente utilizza questa estensione. Esempio: "Autenticazione Google OAuth 2.0"

required

bool

Indica se il client deve rispettare requisiti specifici dell'estensione. Esempio: false

params

Struct

Configurazione facoltativa per l'estensione.

AgentInterface

Definisce informazioni di trasporto aggiuntive per l'agente.

Campi
url

string

L'URL in cui si trova questa interfaccia.

transport

string

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

string

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.

Campi
url

string

L'URL di riferimento dei fornitori Esempio: "https://ai.google.dev"

organization

string

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

AgentSkill

AgentSkill rappresenta un'unità di azione/soluzione che l'agente può eseguire. Puoi considerarlo come 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 clienti devono avere la certezza che, se la competenza è definita, l'unità di azione possa essere eseguita in modo affidabile.

Campi
id

string

Identificatore univoco della skill all'interno di questo agente.

name

string

Un nome leggibile per la skill.

description

string

Una descrizione leggibile da una persona (o da un LLM) dei dettagli e dei comportamenti dell'abilità.

tags[]

string

Un insieme di tag per la competenza per migliorare la categorizzazione/l'utilizzo. Esempio: ["cooking", "customer support", "billing"]

examples[]

string

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

input_modes[]

string

Modalità di input possibili supportate.

output_modes[]

string

Modalità di output possibili prodotte

security[]

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

Artefatto

Gli artefatti sono il contenitore dei risultati delle attività completate. Sono simili ai messaggi, ma sono pensati per essere il risultato di un'attività, anziché una comunicazione punto-punto.

Campi
artifact_id

string

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

name

string

Un nome leggibile per l'artefatto.

description

string

Una descrizione dell'artefatto leggibile, facoltativa.

parts[]

Part

I contenuti dell'elemento.

metadata

Struct

Metadati facoltativi 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
schemes[]

string

Schemi di autenticazione supportati, ad esempio Basic, Bearer e così via

credentials

string

Credenziali facoltative

AuthorizationCodeOAuthFlow

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

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.

CancelTaskRequest

Campi
tenant

string

Tenant facoltativo, fornito come parametro di percorso. Sperimentale, potrebbe ancora cambiare per la release 1.0.

name

string

Il nome della risorsa dell'attività da annullare. Formato: tasks/{task_id}

ClientCredentialsOAuthFlow

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.

CreateTaskPushNotificationConfigRequest

Campi
tenant

string

Tenant facoltativo, fornito come parametro di percorso. Sperimentale, potrebbe ancora cambiare per la release 1.0.

parent

string

Obbligatorio. La risorsa attività padre per questa configurazione. Formato: tasks/{task_id}

config_id

string

Obbligatorio. L'ID della nuova configurazione.

config

TaskPushNotificationConfig

Obbligatorio. La configurazione da creare.

DataPart

DataPart rappresenta un blob strutturato. Si tratta più comunemente di un payload JSON.

Campi
data

Struct

DeleteTaskPushNotificationConfigRequest

Campi
tenant

string

Tenant facoltativo, fornito come parametro di percorso. Sperimentale, potrebbe ancora cambiare per la release 1.0.

name

string

Il nome della risorsa della configurazione da eliminare. Formato: tasks/{task_id}/pushNotificationConfigs/{config_id}

FilePart

FilePart rappresenta i diversi modi in cui i file possono essere forniti. Se i file sono piccoli, è supportato l'inserimento diretto dei byte tramite file_with_bytes. Se il file è di grandi dimensioni, l'agente deve leggere i contenuti in modo appropriato direttamente dall'origine file_with_uri.

Campi
mime_type

string

name

string

Campo unione file.

file può essere solo uno dei seguenti tipi:

file_with_uri

string

file_with_bytes

bytes

GetAgentCardRequest

Campi
tenant

string

Tenant facoltativo, fornito come parametro di percorso. Sperimentale, potrebbe ancora cambiare per la release 1.0.

GetTaskPushNotificationConfigRequest

Campi
tenant

string

Tenant facoltativo, fornito come parametro di percorso. Sperimentale, potrebbe ancora cambiare per la release 1.0.

name

string

Il nome della risorsa della configurazione da recuperare. Formato: tasks/{task_id}/pushNotificationConfigs/{config_id}

GetTaskRequest

Campi
tenant

string

Tenant facoltativo, fornito come parametro di percorso. Sperimentale, potrebbe ancora cambiare per la release 1.0.

name

string

Obbligatorio. Il nome della risorsa dell'attività. Formato: tasks/{task_id}

history_length

int32

Il numero di messaggi più recenti della cronologia dell'attività da recuperare.

HTTPAuthSecurityScheme

Campi
description

string

Descrizione di questo schema di sicurezza.

scheme

string

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.

bearer_format

string

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.

ImplicitOAuthFlow

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.

ListTaskPushNotificationConfigRequest

Campi
tenant

string

Tenant facoltativo, fornito come parametro di percorso. Sperimentale, potrebbe ancora cambiare per la release 1.0.

parent

string

La risorsa attività padre. Formato: tasks/{task_id}

page_size

int32

Per AIP-158 questi campi sono presenti. Di solito non viene utilizzato/non è necessario. Il numero massimo di configurazioni da restituire. Se non è specificato, verranno restituite tutte le configurazioni.

page_token

string

Un token di pagina ricevuto da una precedente chiamata ListTaskPushNotificationConfigRequest. Forniscilo per recuperare la pagina successiva. Durante la paginazione, tutti gli altri parametri forniti a ListTaskPushNotificationConfigRequest devono corrispondere alla chiamata che ha fornito il token di pagina.

ListTaskPushNotificationConfigResponse

Campi
configs[]

TaskPushNotificationConfig

L'elenco delle configurazioni delle notifiche push.

next_page_token

string

Un token, che può essere inviato come page_token per recuperare la pagina successiva. Se questo campo viene omesso, non verranno visualizzate altre pagine.

Messaggio

Un messaggio è un'unità di comunicazione tra client e server. È associato a un contesto e, facoltativamente, a un'attività. Poiché il server è responsabile della definizione del contesto, deve sempre fornire un context_id nei suoi messaggi. Il client può fornire facoltativamente context_id se conosce il contesto a cui associare il messaggio. Allo stesso modo per task_id, tranne che il server decide se creare un'attività e se includere task_id.

Campi
message_id

string

L'identificatore univoco (ad es. UUID) del messaggio. Questo campo è obbligatorio e viene creato dall'autore del messaggio.

context_id

string

L'ID contesto del messaggio. Questo campo è facoltativo e, se impostato, il messaggio verrà associato al contesto specificato.

task_id

string

L'ID attività del messaggio. Questo campo è facoltativo e, se impostato, il messaggio verrà associato all'attività specificata.

role

Role

Un ruolo per il messaggio.

content[]

Part

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.

metadata

Struct

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Metadati facoltativi da fornire insieme al messaggio.

extensions[]

string

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

MutualTlsSecurityScheme

Campi
description

string

Descrizione di questo schema di sicurezza.

OAuth2SecurityScheme

Campi
description

string

Descrizione di questo schema di sicurezza.

flows

OAuthFlows

Un oggetto contenente le informazioni di configurazione per i tipi di flusso supportati

oauth2_metadata_url

string

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

OAuthFlows

Campi

Campo unione flow.

flow può essere solo uno dei seguenti tipi:

authorization_code

AuthorizationCodeOAuthFlow

client_credentials

ClientCredentialsOAuthFlow

implicit

ImplicitOAuthFlow

password

PasswordOAuthFlow

OpenIdConnectSecurityScheme

Campi
description

string

Descrizione di questo schema di sicurezza.

open_id_connect_url

string

URL noto per scoprire i metadati del provider [[OpenID-Connect-Discovery]].

Parte

La parte 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

Metadati facoltativi associati a questa parte.

Campo unione part.

part può essere solo uno dei seguenti tipi:

text

string

file

FilePart

data

DataPart

PasswordOAuthFlow

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.

PushNotificationConfig

Configurazione per l'impostazione delle notifiche push per gli aggiornamenti delle attività.

Campi
id

string

Un identificatore univoco (ad es. UUID) per questa notifica push.

url

string

URL a cui inviare la notifica

token

string

Token univoco per questa attività/sessione

authentication

AuthenticationInfo

Informazioni sull'autenticazione da inviare con la notifica

Ruolo

Enum
ROLE_UNSPECIFIED
ROLE_USER Il ruolo USER si riferisce alla comunicazione dal client al server.
ROLE_AGENT Il ruolo AGENTE si riferisce alla comunicazione dal server al client.

Sicurezza

Campi
schemes

map<string, StringList>

SecurityScheme

Campi

Campo unione scheme.

scheme può essere solo uno dei seguenti tipi:

api_key_security_scheme

APIKeySecurityScheme

http_auth_security_scheme

HTTPAuthSecurityScheme

oauth2_security_scheme

OAuth2SecurityScheme

open_id_connect_security_scheme

OpenIdConnectSecurityScheme

mtls_security_scheme

MutualTlsSecurityScheme

SendMessageConfiguration

Configurazione di una richiesta di invio di messaggi.

Campi
accepted_output_modes[]

string

Le modalità di output con cui l'agente dovrebbe rispondere.

push_notification

PushNotificationConfig

Una configurazione di un webhook che può essere utilizzata per ricevere aggiornamenti

history_length

int32

Il numero massimo di messaggi da includere nella cronologia. Se è 0, la cronologia sarà illimitata.

blocking

bool

Se il valore è vero, il messaggio verrà bloccato fino al completamento dell'attività. Se il valore è false, il messaggio non sarà bloccante e l'attività verrà restituita immediatamente. È responsabilità del chiamante verificare la presenza di aggiornamenti dell'attività.

SendMessageRequest

///////// Request Messages ///////////

Campi
tenant

string

Tenant facoltativo, fornito come parametro di percorso. Sperimentale, potrebbe ancora cambiare per la release 1.0.

request

Message

Obbligatorio. Il messaggio da inviare all'agente.

configuration

SendMessageConfiguration

Configurazione per l'invio della richiesta.

metadata

Struct

Metadati facoltativi per la richiesta.

SendMessageResponse

////// Response Messages ///////////

Campi

Campo unione payload.

payload può essere solo uno dei seguenti tipi:

task

Task

msg

Message

StreamResponse

La risposta dello stream per un messaggio. Lo stream deve essere una delle seguenti sequenze: se la risposta è un messaggio, lo stream deve contenere un solo messaggio e poi chiudersi. Se la risposta è un ciclo di vita dell'attività, la prima risposta deve essere un oggetto Task seguito da zero o più TaskStatusUpdateEvents e TaskArtifactUpdateEvents. Lo stream deve essere completato quando l'attività si trova in uno stato interrotto o terminale. Uno stream che termina prima che queste condizioni vengano soddisfatte

Campi

Campo unione payload.

payload può essere solo uno dei seguenti tipi:

task

Task

msg

Message

status_update

TaskStatusUpdateEvent

artifact_update

TaskArtifactUpdateEvent

StringList

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED

Campi
list[]

string

Attività

L'attività è 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 archiviati nella cronologia.

Campi
id

string

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). Creato dal server A2A.

status

TaskStatus

Lo stato attuale di un'attività, inclusi lo stato e un messaggio.

artifacts[]

Artifact

Un insieme di artefatti di output per un'attività.

history[]

Message

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED La cronologia delle interazioni di un'attività.

metadata

Struct

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

TaskArtifactUpdateEvent

TaskArtifactUpdateEvent rappresenta un delta di attività in cui è stato generato un artefatto.

Campi
task_id

string

L'ID dell'attività per questo artefatto

context_id

string

L'ID del contesto a cui appartiene questa attività

artifact

Artifact

L'elemento stesso

append

bool

Se deve essere aggiunto a uno precedente prodotto

last_chunk

bool

Indica se si tratta dell'ultima parte di un artefatto

metadata

Struct

Metadati facoltativi associati all'aggiornamento dell'artefatto.

TaskPushNotificationConfig

Campi
name

string

Il nome della risorsa della configurazione. Formato: tasks/{task_id}/pushNotificationConfigs/{config_id}

push_notification_config

PushNotificationConfig

I dettagli di configurazione delle notifiche push.

TaskState

L'insieme degli stati in cui può trovarsi un'attività.

Enum
TASK_STATE_UNSPECIFIED
TASK_STATE_SUBMITTED Rappresenta lo stato che conferma la creazione di un'attività
TASK_STATE_WORKING Rappresenta lo stato di un'attività in fase di elaborazione attiva
TASK_STATE_COMPLETED Rappresenta lo stato di completamento di un'attività. Questo è uno stato terminale
TASK_STATE_FAILED Rappresenta lo stato di un'attività completata, ma non riuscita. Questo è uno stato terminale
TASK_STATE_CANCELLED Rappresenta lo stato di un'attività annullata prima del completamento. Si tratta di uno stato terminale.
TASK_STATE_INPUT_REQUIRED Rappresenta lo stato che richiede informazioni per il completamento dell'attività. Si tratta di uno stato interrotto.
TASK_STATE_REJECTED Rappresenta lo stato in cui 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 Rappresenta lo stato in cui è necessaria un'autenticazione da parte del client upstream. L'autenticazione deve essere eseguita fuori banda, quindi questo non è uno stato interrotto o terminale.

TaskStatus

Un contenitore per lo stato di un'attività

Campi
state

TaskState

Lo stato attuale di questa attività

update

Message

Un messaggio associato allo stato.

timestamp

Timestamp

Timestamp di registrazione dello stato. Esempio: "2023-10-27T10:00:00Z"

TaskStatusUpdateEvent

TaskStatusUpdateEvent è un evento delta su un'attività che indica che l'attività è stata modificata.

Campi
task_id

string

L'ID dell'attività modificata

context_id

string

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

status

TaskStatus

Il nuovo stato dell'attività.

final

bool

Indica se si tratta dell'ultimo aggiornamento dello stato previsto per questa attività.

metadata

Struct

Metadati facoltativi da associare all'aggiornamento dell'attività.

TaskSubscriptionRequest

Campi
tenant

string

Tenant facoltativo, fornito come parametro di percorso. Sperimentale, potrebbe ancora cambiare per la release 1.0.

name

string

Il nome della risorsa dell'attività a cui iscriversi. Formato: tasks/{task_id}