Package lf.a2a.v1

Index

A2AService

Bietet Vorgänge für die Interaktion mit Agenten über das A2A-Protokoll.

CancelTask

rpc CancelTask(CancelTaskRequest) returns (Task)

Bricht eine laufende Aufgabe ab.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

CreateTaskPushNotificationConfig

rpc CreateTaskPushNotificationConfig(TaskPushNotificationConfig) returns (TaskPushNotificationConfig)

Erstellt eine Push-Benachrichtigungskonfiguration für eine Aufgabe.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

DeleteTaskPushNotificationConfig

rpc DeleteTaskPushNotificationConfig(DeleteTaskPushNotificationConfigRequest) returns (Empty)

Löscht eine Push-Benachrichtigungskonfiguration für eine Aufgabe.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

GetExtendedAgentCard

rpc GetExtendedAgentCard(GetExtendedAgentCardRequest) returns (AgentCard)

Ruft die erweiterte Agentenkarte für den authentifizierten Agent ab.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

GetTask

rpc GetTask(GetTaskRequest) returns (Task)

Ruft den letzten Status einer Aufgabe ab.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

GetTaskPushNotificationConfig

rpc GetTaskPushNotificationConfig(GetTaskPushNotificationConfigRequest) returns (TaskPushNotificationConfig)

Ruft eine Push-Benachrichtigungskonfiguration für eine Aufgabe ab.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

ListTaskPushNotificationConfigs

rpc ListTaskPushNotificationConfigs(ListTaskPushNotificationConfigsRequest) returns (ListTaskPushNotificationConfigsResponse)

Rufen Sie eine Liste der für eine Aufgabe konfigurierten Push-Benachrichtigungen ab.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

ListTasks

rpc ListTasks(ListTasksRequest) returns (ListTasksResponse)

Listet Aufgaben auf, die dem angegebenen Filter entsprechen.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

SendMessage

rpc SendMessage(SendMessageRequest) returns (SendMessageResponse)

Sendet eine Nachricht an einen Kundenservicemitarbeiter.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

SendStreamingMessage

rpc SendStreamingMessage(SendMessageRequest) returns (StreamResponse)

Sendet eine Streaming-Nachricht an einen Kundenservicemitarbeiter, um Echtzeitinteraktionen und Statusaktualisierungen zu ermöglichen. Streamingversion von SendMessage

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

SubscribeToTask

rpc SubscribeToTask(SubscribeToTaskRequest) returns (StreamResponse)

Abonniert Aufgabenupdates für Aufgaben, die sich nicht in einem Endstatus befinden. Gibt UnsupportedOperationError zurück, wenn sich die Aufgabe bereits in einem Endzustand befindet (abgeschlossen, fehlgeschlagen, abgebrochen, abgelehnt).

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

APIKeySecurityScheme

Definiert ein Sicherheitsschema mit einem API-Schlüssel.

Felder
description

string

Eine optionale Beschreibung für das Sicherheitskonzept.

location

string

Erforderlich. Der Speicherort des API-Schlüssels. Gültige Werte sind „query“, „header“ oder „cookie“.

name

string

Erforderlich. Der Name des zu verwendenden Header-, Abfrage- oder Cookie-Parameters.

AgentCapabilities

Definiert optionale Funktionen, die von einem Agent unterstützt werden.

Felder
extensions[]

AgentExtension

Eine Liste der vom Agent unterstützten Protokollerweiterungen.

streaming

bool

Gibt an, ob der Agent Streaming-Antworten unterstützt.

push_notifications

bool

Gibt an, ob der Agent das Senden von Push-Benachrichtigungen für Updates zu asynchronen Aufgaben unterstützt.

extended_agent_card

bool

Gibt an, ob der Agent die Bereitstellung einer erweiterten Agentenkarte unterstützt, wenn er authentifiziert ist.

AgentCard

Ein selbstbeschreibendes Manifest für einen Agent. Sie enthält wichtige Metadaten wie die Identität, Funktionen, Fähigkeiten, unterstützten Kommunikationsmethoden und Sicherheitsanforderungen des Agenten. Nächste ID: 20

Felder
name

string

Erforderlich. Ein menschenlesbarer Name für den KI-Agenten. Beispiel: „Rezept-Agent“

description

string

Erforderlich. Eine menschenlesbare Beschreibung des KI-Agenten, die Nutzern und anderen KI-Agenten hilft, seinen Zweck zu verstehen. Beispiel: „Agent, der Nutzern bei Rezepten und beim Kochen hilft.“

supported_interfaces[]

AgentInterface

Erforderlich. Geordnete Liste der unterstützten Schnittstellen. Der erste Eintrag wird bevorzugt.

provider

AgentProvider

Der Dienstanbieter des Agenten.

version

string

Erforderlich. Die Version des Agents. Beispiel: „1.0.0“

capabilities

AgentCapabilities

Erforderlich. A2A-Funktionsgruppe, die vom Agent unterstützt wird.

security_schemes

map<string, SecurityScheme>

Die Details des Sicherheitsschemas, die für die Authentifizierung bei diesem Agent verwendet werden.

security_requirements[]

SecurityRequirement

Sicherheitsanforderungen für die Kontaktaufnahme mit dem Kundenservicemitarbeiter.

default_input_modes[]

string

Erforderlich. protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Die Gruppe der Interaktionsmodi, die der Agent für alle Skills unterstützt. Dies kann pro Skill überschrieben werden. Als Medientypen definiert.

default_output_modes[]

string

Erforderlich. Die Medientypen, die als Ausgaben dieses Agents unterstützt werden.

skills[]

AgentSkill

Erforderlich. Skills stellen die Fähigkeiten eines Agenten dar. Es handelt sich dabei weitgehend um ein beschreibendes Konzept, das jedoch eine fokussiertere Reihe von Verhaltensweisen darstellt, bei denen der Agent wahrscheinlich erfolgreich sein wird.

signatures[]

AgentCardSignature

JSON-Websignaturen, die für diese AgentCard berechnet wurden.

documentation_url

string

Eine URL mit zusätzlicher Dokumentation zum Agent.

icon_url

string

Optional. Eine URL zu einem Symbol für den Agenten.

AgentCardSignature

AgentCardSignature stellt eine JWS-Signatur einer AgentCard dar. Dies entspricht dem JSON-Format einer RFC 7515 JSON Web Signature (JWS).

Felder
protected

string

Erforderlich. Erforderlich. Der geschützte JWS-Header für die Signatur. Dies ist immer ein base64url-codiertes JSON-Objekt.

signature

string

Erforderlich. Die berechnete Signatur, base64url-codiert.

header

Struct

Die ungeschützten JWS-Headerwerte.

AgentExtension

Eine Deklaration einer Protokollerweiterung, die von einem Agent unterstützt wird.

Felder
uri

string

Der eindeutige URI, der die Erweiterung identifiziert.

description

string

Eine für Menschen lesbare Beschreibung, wie dieser Agent die Erweiterung verwendet.

required

bool

Bei „true“ muss der Client die Anforderungen der Erweiterung verstehen und einhalten.

params

Struct

Optional. Erweiterungsspezifische Konfigurationsparameter.

AgentInterface

Deklariert eine Kombination aus Ziel-URL, Transport und Protokollversion für die Interaktion mit dem Agent. So können Agenten dieselbe Funktionalität über mehrere Protokollbindungsmechanismen hinweg bereitstellen.

Felder
url

string

Erforderlich. Die URL, unter der diese Schnittstelle verfügbar ist. Muss in der Produktion eine gültige absolute HTTPS-URL sein. Beispiel: „https://api.beispiel.de/a2a/v1“, „https://grpc.beispiel.de/a2a“

protocol_binding

string

Erforderlich. Die an dieser URL unterstützte Protokollbindung. Dies ist ein offener Formularstring, der sich leicht für andere Protokollbindungen erweitern lässt. Die offiziell unterstützten Kern-Frameworks sind JSONRPC, GRPC und HTTP+JSON.

tenant

string

Optional. Ein opaker String, der zum Weiterleiten von Anfragen an einen bestimmten Agenten oder Mandanten verwendet wird, wenn mehrere Agenten über einen einzelnen A2A-Endpunkt bereitgestellt werden. Wenn dieser Wert festgelegt ist, MÜSSEN Clients ihn im Feld tenant aller Anfragenachrichten angeben, die an diese Schnittstelle gesendet werden. Der Server ist für die Interpretation des Werts und das entsprechende Weiterleiten von Anfragen verantwortlich. Das Format oder die Semantik des Werts werden im Protokoll nicht definiert.

protocol_version

string

Erforderlich. Die Version des A2A Protocol, das von dieser Schnittstelle bereitgestellt wird. Verwenden Sie die neueste unterstützte Nebenversion pro Hauptversion. Beispiele: „0.3“, „1.0“

AgentProvider

Stellt den Dienstanbieter eines Agenten dar.

Felder
url

string

Erforderlich. Eine URL zur Website des Agent-Anbieters oder zur relevanten Dokumentation. Beispiel: „https://ai.google.dev“

organization

string

Erforderlich. Der Name der Organisation des Agent-Anbieters. Beispiel: „Google“

AgentSkill

Stellt eine bestimmte Funktion dar, die ein Agent ausführen kann.

Felder
id

string

Erforderlich. Eine eindeutige Kennung für die Funktion des Agents.

name

string

Erforderlich. Ein für Menschen lesbarer Name für den Skill.

description

string

Erforderlich. Eine detaillierte Beschreibung des Skills.

tags[]

string

Erforderlich. Eine Reihe von Keywords, die die Fähigkeiten des Skills beschreiben.

examples[]

string

Beispiel-Prompts oder ‑Szenarien, die mit dieser Skill bearbeitet werden können.

input_modes[]

string

Die Menge der unterstützten Eingabemedientypen für diesen Skill, die die Standardeinstellungen des Agenten überschreiben.

output_modes[]

string

Die Menge der unterstützten Ausgabemedientypen für diesen Skill, die die Standardeinstellungen des Agenten überschreiben.

security_requirements[]

SecurityRequirement

Für diesen Skill erforderliche Sicherheitskonzepte.

Artefakt

Artefakte stellen die Ausgaben von Aufgaben dar.

Felder
artifact_id

string

Erforderlich. Eindeutige Kennung (z.B. UUID) für das Artefakt. Sie muss innerhalb einer Aufgabe eindeutig sein.

name

string

Ein für Menschen lesbarer Name für das Artefakt.

description

string

Optional. Eine menschenlesbare Beschreibung des Artefakts.

parts[]

Part

Erforderlich. Der Inhalt des Artefakts. Muss mindestens einen Teil enthalten.

metadata

Struct

Optional. Metadaten, die im Artefakt enthalten sind.

extensions[]

string

Die URIs von Erweiterungen, die in diesem Artefakt vorhanden sind oder zu diesem Artefakt beigetragen haben.

AuthenticationInfo

Definiert Authentifizierungsdetails, die für Push-Benachrichtigungen verwendet werden.

Felder
scheme

string

Erforderlich. HTTP-Authentifizierungsschema aus der IANA-Registrierung. Beispiele: Bearer, Basic, Digest. Gemäß RFC 9110, Abschnitt 11.1 wird bei Schemanamen die Groß-/Kleinschreibung nicht berücksichtigt.

credentials

string

Anmeldedaten für Push-Benachrichtigungen. Das Format hängt vom Schema ab (z.B. Token für „Bearer“).

AuthorizationCodeOAuthFlow

Definiert Konfigurationsdetails für den OAuth 2.0-Vorgang mit Autorisierungscode.

Felder
authorization_url

string

Erforderlich. Die für diesen Ablauf zu verwendende Autorisierungs-URL.

token_url

string

Erforderlich. Die Token-URL, die für diesen Ablauf verwendet werden soll.

refresh_url

string

Die URL, die zum Abrufen von Aktualisierungstokens verwendet werden soll.

scopes

map<string, string>

Erforderlich. Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema.

pkce_required

bool

Gibt an, ob PKCE (RFC 7636) für diesen Ablauf erforderlich ist. PKCE sollte immer für öffentliche Clients verwendet werden und wird für alle Clients empfohlen.

CancelTaskRequest

Stellt eine Anfrage für die Methode CancelTask dar.

Felder
tenant

string

Optional. Intransparente Routing-ID. Muss mit dem tenant-Wert des ausgewählten AgentInterface auf der Agent-Karte übereinstimmen, wenn dieses Feld festgelegt ist.

id

string

Erforderlich. Die Ressourcen-ID der abzubrechenden Aufgabe.

metadata

Struct

Eine flexible Schlüssel/Wert-Zuordnung zum Übergeben von zusätzlichem Kontext oder Parametern.

ClientCredentialsOAuthFlow

Definiert Konfigurationsdetails für den OAuth 2.0-Vorgang für Clientanmeldedaten.

Felder
token_url

string

Erforderlich. Die Token-URL, die für diesen Ablauf verwendet werden soll.

refresh_url

string

Die URL, die zum Abrufen von Aktualisierungstokens verwendet werden soll.

scopes

map<string, string>

Erforderlich. Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema.

DeleteTaskPushNotificationConfigRequest

Stellt eine Anfrage für die Methode DeleteTaskPushNotificationConfig dar.

Felder
tenant

string

Optional. Intransparente Routing-ID. Muss mit dem tenant-Wert des ausgewählten AgentInterface auf der Agent-Karte übereinstimmen, wenn dieses Feld festgelegt ist.

task_id

string

Erforderlich. Die Ressourcen-ID der übergeordneten Aufgabe.

id

string

Erforderlich. Die Ressourcen-ID der zu löschenden Konfiguration.

DeviceCodeOAuthFlow

Definiert Konfigurationsdetails für den OAuth 2.0-Gerätecodefluss (RFC 8628). Dieser Ablauf ist für Geräte mit eingeschränkter Eingabe wie IoT-Geräte und CLI-Tools konzipiert, bei denen sich der Nutzer auf einem separaten Gerät authentifiziert.

Felder
device_authorization_url

string

Erforderlich. Die URL des Geräteautorisierungsendpunkts.

token_url

string

Erforderlich. Die Token-URL, die für diesen Ablauf verwendet werden soll.

refresh_url

string

Die URL, die zum Abrufen von Aktualisierungstokens verwendet werden soll.

scopes

map<string, string>

Erforderlich. Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema.

GetExtendedAgentCardRequest

Stellt eine Anfrage für die Methode GetExtendedAgentCard dar.

Felder
tenant

string

Optional. Intransparente Routing-ID. Muss mit dem tenant-Wert des ausgewählten AgentInterface auf der Agent-Karte übereinstimmen, wenn dieses Feld festgelegt ist.

GetTaskPushNotificationConfigRequest

Stellt eine Anfrage für die Methode GetTaskPushNotificationConfig dar.

Felder
tenant

string

Optional. Intransparente Routing-ID. Muss mit dem tenant-Wert des ausgewählten AgentInterface auf der Agent-Karte übereinstimmen, wenn dieses Feld festgelegt ist.

task_id

string

Erforderlich. Die Ressourcen-ID der übergeordneten Aufgabe.

id

string

Erforderlich. Die Ressourcen-ID der abzurufenden Konfiguration.

GetTaskRequest

Stellt eine Anfrage für die Methode GetTask dar.

Felder
tenant

string

Optional. Intransparente Routing-ID. Muss mit dem tenant-Wert des ausgewählten AgentInterface auf der Agent-Karte übereinstimmen, wenn dieses Feld festgelegt ist.

id

string

Erforderlich. Die Ressourcen-ID der abzurufenden Aufgabe.

history_length

int32

Die maximale Anzahl der letzten Nachrichten aus dem Aufgabenverlauf, die abgerufen werden sollen. Wenn kein Wert festgelegt ist, gibt es kein Limit. Ein Wert von null bedeutet, dass keine Nachrichten enthalten sein sollen. Der Server DARF nicht mehr Nachrichten als den angegebenen Wert zurückgeben, KANN aber ein niedrigeres Limit anwenden.

HTTPAuthSecurityScheme

Definiert ein Sicherheitsschema mit HTTP-Authentifizierung.

Felder
description

string

Eine optionale Beschreibung für das Sicherheitskonzept.

scheme

string

Erforderlich. Der Name des HTTP-Authentifizierungsschemas, das im Authorization-Header verwendet werden soll, wie in RFC7235 definiert (z.B. „Bearer“). Dieser Wert sollte in der IANA Authentication Scheme Registry registriert sein.

bearer_format

string

Ein Hinweis für den Client, der angibt, wie das Bearer-Token formatiert ist (z.B. „JWT“). Hauptsächlich zu Dokumentationszwecken.

ImplicitOAuthFlow

Verworfen: Verwenden Sie stattdessen Autorisierungscode + PKCE.

Felder
authorization_url

string

Die für diesen Ablauf zu verwendende Autorisierungs-URL. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

refresh_url

string

Die URL, die zum Abrufen von Aktualisierungstokens verwendet werden soll. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

scopes

map<string, string>

Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Eine Zuordnung zwischen dem Bereichsnamen und einer kurzen Beschreibung. Die Karte KANN leer sein.

ListTaskPushNotificationConfigsRequest

Stellt eine Anfrage für die Methode ListTaskPushNotificationConfigs dar.

Felder
tenant

string

Optional. Intransparente Routing-ID. Muss mit dem tenant-Wert des ausgewählten AgentInterface auf der Agent-Karte übereinstimmen, wenn dieses Feld festgelegt ist.

task_id

string

Erforderlich. Die Ressourcen-ID der übergeordneten Aufgabe.

page_size

int32

Die maximale Anzahl der zurückzugebenden Konfigurationen.

page_token

string

Ein Seitentoken, das von einem vorherigen ListTaskPushNotificationConfigsRequest-Aufruf empfangen wurde.

ListTaskPushNotificationConfigsResponse

Stellt eine erfolgreiche Antwort für die Methode ListTaskPushNotificationConfigs dar.

Felder
configs[]

TaskPushNotificationConfig

Die Liste der Push-Benachrichtigungskonfigurationen.

next_page_token

string

Ein Token zum Abrufen der nächsten Ergebnisseite. Leer, wenn keine weiteren Ergebnisse in der Liste vorhanden sind.

ListTasksRequest

Parameter zum Auflisten von Aufgaben mit optionalen Filterkriterien.

Felder
tenant

string

Optional. Intransparente Routing-ID. Muss mit dem tenant-Wert des ausgewählten AgentInterface auf der Agent-Karte übereinstimmen, wenn dieses Feld festgelegt ist.

context_id

string

Filtern Sie Aufgaben nach Kontext-ID, um Aufgaben aus einer bestimmten Unterhaltung oder Sitzung abzurufen.

status

TaskState

Aufgaben nach ihrem aktuellen Status filtern

page_token

string

Ein Seitentoken, das von einem vorherigen ListTasks-Aufruf empfangen wurde. ListTasksResponse.next_page_token. Geben Sie dieses an, um die nachfolgende Seite abzurufen.

status_timestamp_after

Timestamp

Filtert Aufgaben, deren Status nach dem angegebenen Zeitstempel im ISO 8601-Format aktualisiert wurde (z.B. „2023-10-27T10:00:00Z“). Es werden nur Aufgaben mit einem Status-Zeitstempel zurückgegeben, der größer oder gleich diesem Wert ist.

page_size

int32

Die maximale Anzahl der zurückzugebenden Aufgaben. Der Dienst gibt möglicherweise weniger als diesen Wert zurück. Falls nicht angegeben, werden maximal 50 Aufgaben zurückgegeben. Der Mindestwert beträgt 1. Der Höchstwert ist 100.

history_length

int32

Die maximale Anzahl von Nachrichten, die im Verlauf jeder Aufgabe enthalten sein sollen.

include_artifacts

bool

Gibt an, ob Artefakte in die zurückgegebenen Aufgaben einbezogen werden sollen. Die Standardeinstellung ist „false“, um die Nutzlastgröße zu verringern.

ListTasksResponse

Ergebnisobjekt für die ListTasks-Methode, das ein Array von Aufgaben und Paginierungsinformationen enthält.

Felder
tasks[]

Task

Erforderlich. Array von Aufgaben, die den angegebenen Kriterien entsprechen.

next_page_token

string

Erforderlich. Ein Token zum Abrufen der nächsten Ergebnisseite. Leer, wenn keine weiteren Ergebnisse in der Liste vorhanden sind.

page_size

int32

Erforderlich. Die für diese Antwort verwendete Seitengröße.

total_size

int32

Erforderlich. Gesamtzahl der verfügbaren Aufgaben (vor der Paginierung).

Nachricht

Message ist eine Kommunikationseinheit zwischen Client und Server. Sie kann einem Kontext und/oder einer Aufgabe zugeordnet werden. Bei Servernachrichten muss context_id angegeben werden und task_id nur, wenn eine Aufgabe erstellt wurde. Bei Clientnachrichten sind beide Felder optional. Wenn beide angegeben werden, müssen sie jedoch übereinstimmen (context_id muss der Wert sein, der für die Aufgabe festgelegt ist). Wenn nur task_id angegeben ist, leitet der Server context_id daraus ab.

Felder
message_id

string

Erforderlich. Die eindeutige Kennung (z.B. UUID) der Nachricht. Sie wird vom Ersteller der Nachricht erstellt.

context_id

string

Optional. Die Kontext-ID der Nachricht. Wenn festgelegt, wird die Nachricht dem angegebenen Kontext zugeordnet.

task_id

string

Optional. Die Aufgaben-ID der Nachricht. Wenn festgelegt, wird die Nachricht der angegebenen Aufgabe zugeordnet.

role

Role

Erforderlich. Gibt den Absender der Nachricht an.

parts[]

Part

Erforderlich. „Parts“ ist der Container für den Nachrichteninhalt.

metadata

Struct

Optional. Alle Metadaten, die zusammen mit der Nachricht angegeben werden sollen.

extensions[]

string

Die URIs von Erweiterungen, die in dieser Nachricht vorhanden sind oder zu dieser Nachricht beigetragen haben.

reference_task_ids[]

string

Eine Liste der Aufgaben-IDs, auf die sich diese Nachricht für zusätzlichen Kontext bezieht.

MutualTlsSecurityScheme

Definiert ein Sicherheitsschema mit mTLS-Authentifizierung.

Felder
description

string

Eine optionale Beschreibung für das Sicherheitskonzept.

OAuth2SecurityScheme

Definiert ein Sicherheitsschema mit OAuth 2.0.

Felder
description

string

Eine optionale Beschreibung für das Sicherheitskonzept.

flows

OAuthFlows

Erforderlich. Ein Objekt mit Konfigurationsinformationen für die unterstützten OAuth 2.0-Flows.

oauth2_metadata_url

string

URL zu den OAuth2-Autorisierungsserver-Metadaten RFC 8414. TLS ist erforderlich.

OAuthFlows

Definiert die Konfiguration für die unterstützten OAuth 2.0-Abläufe.

Felder

Union-Feld flow.

Für flow ist nur einer der folgenden Werte zulässig:

authorization_code

AuthorizationCodeOAuthFlow

Konfiguration für den OAuth-Autorisierungscode-Ablauf.

client_credentials

ClientCredentialsOAuthFlow

Konfiguration für den OAuth-Ablauf der Clientanmeldedaten.

implicit
(deprecated)

ImplicitOAuthFlow

Verworfen: Verwenden Sie stattdessen Autorisierungscode + PKCE.

password
(deprecated)

PasswordOAuthFlow

Veraltet: Verwenden Sie Autorisierungscode + PKCE oder Gerätecode.

device_code

DeviceCodeOAuthFlow

Konfiguration für den OAuth-Gerätecodefluss.

OpenIdConnectSecurityScheme

Definiert ein Sicherheitsschema mit OpenID Connect.

Felder
description

string

Eine optionale Beschreibung für das Sicherheitskonzept.

open_id_connect_url

string

Erforderlich. Die OpenID Connect-Discovery-URL für die Metadaten des OIDC-Anbieters.

Teil

Part steht für einen Container für einen Abschnitt von Kommunikationsinhalten. Teile können rein textbasiert sein, eine Art Datei (Bild, Video usw.) oder ein Blob mit strukturierten Daten (z. B. JSON).

Felder
metadata

Struct

Optional. Metadaten, die mit diesem Teil verknüpft sind.

filename

string

Ein optionaler filename für die Datei (z.B. „document.pdf“).

media_type

string

Der media_type (MIME-Typ) des Teilinhalts (z.B. „text/plain“, „application/json“, „image/png“). Dieses Feld ist für alle Teiletypen verfügbar.

Union-Feld content.

Für content ist nur einer der folgenden Werte zulässig:

text

string

Der String-Inhalt des text-Teils.

raw

bytes

Der raw-Byte-Inhalt einer Datei. Bei der JSON-Serialisierung wird dies als Base64-String codiert.

url

string

Ein url, das auf den Inhalt der Datei verweist.

data

Value

Beliebige strukturierte data als JSON-Wert (Objekt, Array, String, Zahl, boolescher Wert oder Null).

PasswordOAuthFlow

Veraltet: Verwenden Sie Autorisierungscode + PKCE oder Gerätecode.

Felder
token_url

string

Die Token-URL, die für diesen Ablauf verwendet werden soll. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

refresh_url

string

Die URL, die zum Abrufen von Aktualisierungstokens verwendet werden soll. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS.

scopes

map<string, string>

Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Eine Zuordnung zwischen dem Bereichsnamen und einer kurzen Beschreibung. Die Karte KANN leer sein.

Rolle

Definiert den Absender einer Nachricht in der A2A-Protokollkommunikation.

Enums
ROLE_UNSPECIFIED Die Rolle ist nicht angegeben.
ROLE_USER Die Nachricht wird vom Client an den Server gesendet.
ROLE_AGENT Die Nachricht wird vom Server an den Client gesendet.

SecurityRequirement

Definiert die Sicherheitsanforderungen für einen Agent.

Felder
schemes

map<string, StringList>

Eine Zuordnung von Sicherheitsschemas zu den erforderlichen Bereichen.

SecurityScheme

Definiert ein Sicherheitsschema, das zum Sichern der Endpunkte eines Agents verwendet werden kann. Dies ist ein Typ für eine disjunkte Vereinigung, der auf dem OpenAPI 3.2-Sicherheitsschemaobjekt basiert. Weitere Informationen finden Sie unter https://spec.openapis.org/oas/v3.2.0.html#security-scheme-object.

Felder

Union-Feld scheme.

Für scheme ist nur einer der folgenden Werte zulässig:

api_key_security_scheme

APIKeySecurityScheme

Authentifizierung mit API-Schlüssel

http_auth_security_scheme

HTTPAuthSecurityScheme

HTTP-Authentifizierung (Basic, Bearer usw.).

oauth2_security_scheme

OAuth2SecurityScheme

Authentifizierung mit OAuth 2.0

open_id_connect_security_scheme

OpenIdConnectSecurityScheme

OpenID Connect-Authentifizierung

mtls_security_scheme

MutualTlsSecurityScheme

Gegenseitige TLS-Authentifizierung.

SendMessageConfiguration

Konfiguration einer Nachrichtenanfrage.

Felder
accepted_output_modes[]

string

Eine Liste der Medientypen, die der Client für Antwortteile akzeptiert. Kundenservicemitarbeiter SOLLTEN dies verwenden, um ihre Ausgabe anzupassen.

task_push_notification_config

TaskPushNotificationConfig

Konfiguration für den Agent zum Senden von Push-Benachrichtigungen für Aufgabenaktualisierungen. Die Aufgaben-ID sollte leer sein, wenn diese Konfiguration in einer SendMessage-Anfrage gesendet wird.

return_immediately

bool

Wenn true, wird der Vorgang sofort nach dem Erstellen der Aufgabe zurückgegeben, auch wenn die Verarbeitung noch läuft. Wenn false (Standard) angegeben ist, MUSS der Vorgang warten, bis die Aufgabe einen Endstatus (COMPLETED, FAILED, CANCELED, REJECTED) erreicht oder unterbrochen (INPUT_REQUIRED, AUTH_REQUIRED) wird, bevor er zurückgegeben wird.

history_length

int32

Die maximale Anzahl der letzten Nachrichten aus dem Aufgabenverlauf, die in der Antwort abgerufen werden sollen. Wenn kein Wert festgelegt ist, gibt es kein Limit. Ein Wert von null bedeutet, dass keine Nachrichten enthalten sein sollen. Der Server DARF nicht mehr Nachrichten als den angegebenen Wert zurückgeben, KANN aber ein niedrigeres Limit anwenden.

SendMessageRequest

Stellt eine Anfrage für die Methode SendMessage dar.

Felder
tenant

string

Optional. Intransparente Routing-ID. Muss mit dem tenant-Wert des ausgewählten AgentInterface auf der Agent-Karte übereinstimmen, wenn dieses Feld festgelegt ist.

message

Message

Erforderlich. Die Nachricht, die an den Agenten gesendet werden soll.

configuration

SendMessageConfiguration

Konfiguration für die Sendeanfrage.

metadata

Struct

Eine flexible Schlüssel/Wert-Zuordnung zum Übergeben von zusätzlichem Kontext oder Parametern.

SendMessageResponse

Stellt die Antwort für die Methode SendMessage dar.

Felder
Union-Feld payload. Die Nutzlast der Antwort. Für payload ist nur einer der folgenden Werte zulässig:
task

Task

Die Aufgabe, die durch die Nachricht erstellt oder aktualisiert wurde.

message

Message

Eine Nachricht vom Agent.

StreamResponse

Ein Wrapper-Objekt, das in Streamingvorgängen verwendet wird, um verschiedene Arten von Antwortdaten zu kapseln.

Felder
Union-Feld payload. Die Nutzlast der Streamantwort. Für payload ist nur einer der folgenden Werte zulässig:
task

Task

Ein Task-Objekt mit dem aktuellen Status der Aufgabe.

message

Message

Ein Message-Objekt mit einer Nachricht vom Agenten.

status_update

TaskStatusUpdateEvent

Ein Ereignis, das eine Aktualisierung des Aufgabenstatus angibt.

artifact_update

TaskArtifactUpdateEvent

Ein Ereignis, das eine Aktualisierung eines Aufgabenartefakts angibt.

StringList

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Eine Liste von Strings.

Felder
list[]

string

Die einzelnen Stringwerte.

SubscribeToTaskRequest

Stellt eine Anfrage für die Methode SubscribeToTask dar.

Felder
tenant

string

Optional. Intransparente Routing-ID. Muss mit dem tenant-Wert des ausgewählten AgentInterface auf der Agent-Karte übereinstimmen, wenn dieses Feld festgelegt ist.

id

string

Erforderlich. Die Ressourcen-ID der Aufgabe, die abonniert werden soll.

Aufgabe

Task ist die zentrale Aktionseinheit für A2A. Sie hat einen aktuellen Status und wenn Ergebnisse für die Aufgabe erstellt werden, werden sie im Artefakt gespeichert. Wenn es mehrere Durchgänge für eine Aufgabe gibt, werden diese im Verlauf gespeichert.

Felder
id

string

Erforderlich. Eindeutige Kennung (z.B. UUID) für die Aufgabe, die vom Server für eine neue Aufgabe generiert wird.

context_id

string

Eindeutige Kennung (z.B. UUID) für die kontextbezogene Sammlung von Interaktionen (Aufgaben und Nachrichten).

status

TaskStatus

Erforderlich. Der aktuelle Status eines Task, einschließlich state und eines message.

artifacts[]

Artifact

Eine Reihe von Ausgabeartefakten für ein Task.

history[]

Message

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Der Verlauf der Interaktionen aus einem Task.

metadata

Struct

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Ein Schlüssel/Wert-Objekt zum Speichern benutzerdefinierter Metadaten zu einer Aufgabe.

TaskArtifactUpdateEvent

Ein Task-Delta, in dem ein Artefakt generiert wurde.

Felder
task_id

string

Erforderlich. Die ID der Aufgabe für dieses Artefakt.

context_id

string

Erforderlich. Die ID des Kontexts, zu dem diese Aufgabe gehört.

artifact

Artifact

Erforderlich. Das Artefakt, das generiert oder aktualisiert wurde.

append

bool

Wenn „true“, sollte der Inhalt dieses Artefakts an ein zuvor gesendetes Artefakt mit derselben ID angehängt werden.

last_chunk

bool

Wenn „true“, ist dies der letzte Chunk des Artefakts.

metadata

Struct

Optional. Metadaten, die mit der Artefaktaktualisierung verknüpft sind.

TaskPushNotificationConfig

Ein Container, der eine Push-Benachrichtigungskonfiguration mit einer bestimmten Aufgabe verknüpft.

Felder
tenant

string

Optional. Intransparente Routing-ID. Muss mit dem tenant-Wert des ausgewählten AgentInterface auf der Agent-Karte übereinstimmen, wenn dieses Feld festgelegt ist.

id

string

Die Konfigurationsdetails für Push-Benachrichtigungen. Eine eindeutige Kennung (z.B. UUID) für diese Push-Benachrichtigungskonfiguration.

task_id

string

Die ID der Aufgabe, mit der diese Konfiguration verknüpft ist.

url

string

Erforderlich. Die URL, an die die Benachrichtigung gesendet werden soll.

token

string

Ein Token, das für diese Aufgabe oder Sitzung eindeutig ist.

authentication

AuthenticationInfo

Authentifizierungsinformationen, die zum Senden der Benachrichtigung erforderlich sind.

TaskState

Definiert die möglichen Lebenszyklusstatus eines Task.

Enums
TASK_STATE_UNSPECIFIED Der Status der Aufgabe ist unbekannt oder unbestimmt.
TASK_STATE_SUBMITTED Gibt an, dass eine Aufgabe erfolgreich eingereicht und bestätigt wurde.
TASK_STATE_WORKING Gibt an, dass eine Aufgabe aktiv vom Agent verarbeitet wird.
TASK_STATE_COMPLETED Gibt an, dass eine Aufgabe erfolgreich abgeschlossen wurde. Dies ist ein Terminalstatus.
TASK_STATE_FAILED Gibt an, dass eine Aufgabe mit einem Fehler abgeschlossen wurde. Dies ist ein Terminalstatus.
TASK_STATE_CANCELED Gibt an, dass eine Aufgabe vor dem Abschluss abgebrochen wurde. Dies ist ein Terminalstatus.
TASK_STATE_INPUT_REQUIRED Gibt an, dass der Agent zusätzliche Nutzereingaben benötigt, um fortzufahren. Dies ist ein unterbrochener Zustand.
TASK_STATE_REJECTED Gibt an, dass der Kundenservicemitarbeiter sich entschieden hat, die Aufgabe nicht auszuführen. Dies kann bei der Erstellung der Aufgabe oder später erfolgen, wenn ein KI-Agent feststellt, dass er nicht fortfahren kann oder will. Dies ist ein Terminalstatus.
TASK_STATE_AUTH_REQUIRED Gibt an, dass eine Authentifizierung erforderlich ist, um fortzufahren. Dies ist ein unterbrochener Zustand.

TaskStatus

Ein Container für den Status einer Aufgabe

Felder
state

TaskState

Erforderlich. Der aktuelle Status dieser Aufgabe.

message

Message

Eine Nachricht, die mit dem Status verknüpft ist.

timestamp

Timestamp

ISO 8601-Zeitstempel, als der Status aufgezeichnet wurde. Beispiel: „2023-10-27T10:00:00Z“

TaskStatusUpdateEvent

Ein Ereignis, das vom Kundenservicemitarbeiter gesendet wird, um den Kunden über eine Änderung des Status einer Aufgabe zu informieren.

Felder
task_id

string

Erforderlich. Die ID der Aufgabe, die sich geändert hat.

context_id

string

Erforderlich. Die ID des Kontexts, zu dem die Aufgabe gehört.

status

TaskStatus

Erforderlich. Der neue Status der Aufgabe.

metadata

Struct

Optional. Metadaten, die mit der Aufgabenaktualisierung verknüpft sind.