Index
A2AService(Benutzeroberfläche)APIKeySecurityScheme(Meldung)AgentCapabilities(Meldung)AgentCard(Meldung)AgentCardSignature(Meldung)AgentExtension(Meldung)AgentInterface(Meldung)AgentProvider(Meldung)AgentSkill(Meldung)Artifact(Meldung)AuthenticationInfo(Meldung)AuthorizationCodeOAuthFlow(Meldung)CancelTaskRequest(Meldung)ClientCredentialsOAuthFlow(Meldung)CreateTaskPushNotificationConfigRequest(Meldung)DataPart(Meldung)DeleteTaskPushNotificationConfigRequest(Meldung)FilePart(Meldung)GetAgentCardRequest(Meldung)GetTaskPushNotificationConfigRequest(Meldung)GetTaskRequest(Meldung)HTTPAuthSecurityScheme(Meldung)ImplicitOAuthFlow(Meldung)ListTaskPushNotificationConfigRequest(Meldung)ListTaskPushNotificationConfigResponse(Meldung)Message(Meldung)MutualTlsSecurityScheme(Meldung)OAuth2SecurityScheme(Meldung)OAuthFlows(Meldung)OpenIdConnectSecurityScheme(Meldung)Part(Meldung)PasswordOAuthFlow(Meldung)PushNotificationConfig(Meldung)Role(Aufzählung)Security(Meldung)SecurityScheme(Meldung)SendMessageConfiguration(Meldung)SendMessageRequest(Meldung)SendMessageResponse(Meldung)StreamResponse(Meldung)StringList(Meldung)Task(Meldung)TaskArtifactUpdateEvent(Meldung)TaskPushNotificationConfig(Meldung)TaskState(Aufzählung)TaskStatus(Meldung)TaskStatusUpdateEvent(Meldung)TaskSubscriptionRequest(Meldung)
A2AService
A2AService definiert die gRPC-Version des A2A-Protokolls. Dieses hat eine leicht andere Form als die JSONRPC-Version, um gegebenenfalls besser AIP-127 zu entsprechen. Die Nomen sind „AgentCard“, „Message“, „Task“ und „TaskPushNotificationConfig“.
- Nachrichten sind keine Standardressource. Daher gibt es keine Schnittstelle für „get“, „delete“, „update“ und „list“, sondern nur benutzerdefinierte Methoden für „send“ und „stream“.
- Aufgaben haben eine „get“-Schnittstelle und benutzerdefinierte Methoden zum Abbrechen und Abonnieren.
- TaskPushNotificationConfig ist eine Ressource, deren übergeordnetes Element eine Aufgabe ist. Sie haben die Methoden „get“, „list“ und „create“.
- AgentCard ist eine statische Ressource mit nur einer „get“-Methode.
| CancelTask |
|---|
|
Eine Aufgabe des KI-Agents abbrechen. Wenn dies unterstützt wird, sollten keine weiteren Aufgabenaktualisierungen für die Aufgabe erfolgen.
|
| CreateTaskPushNotificationConfig |
|---|
|
Legen Sie eine Push-Benachrichtigungskonfiguration für eine Aufgabe fest.
|
| DeleteTaskPushNotificationConfig |
|---|
|
Push-Benachrichtigungskonfiguration für eine Aufgabe löschen
|
| GetAgentCard |
|---|
|
GetAgentCard gibt die Agentenkarte für den Agent zurück.
|
| GetTask |
|---|
|
Aktuellen Status einer Aufgabe vom Agenten abrufen
|
| GetTaskPushNotificationConfig |
|---|
|
Push-Benachrichtigungskonfiguration für eine Aufgabe abrufen.
|
| ListTaskPushNotificationConfig |
|---|
|
Rufen Sie eine Liste der für eine Aufgabe konfigurierten Push-Benachrichtigungen ab.
|
| SendMessage |
|---|
|
Senden Sie eine Nachricht an den Kundenservicemitarbeiter. Dies ist ein blockierender Aufruf, der die Aufgabe zurückgibt, sobald sie abgeschlossen ist, oder einen LRO, falls angefordert.
|
| SendStreamingMessage |
|---|
|
„SendStreamingMessage“ ist ein Streamingaufruf, der einen Stream von Ereignissen zur Aufgabenaktualisierung zurückgibt, bis sich die Aufgabe in einem unterbrochenen oder endgültigen Status befindet.
|
| TaskSubscription |
|---|
|
TaskSubscription ist ein Streamingaufruf, der einen Stream von Ereignissen zur Aufgabenaktualisierung zurückgibt. Dadurch wird der Stream an eine bestehende In-Process-Aufgabe angehängt. Wenn die Aufgabe abgeschlossen ist, gibt der Stream die abgeschlossene Aufgabe zurück (wie GetTask) und schließt den Stream.
|
APIKeySecurityScheme
| Felder | |
|---|---|
description |
Beschreibung dieses Sicherheitsschemas. |
location |
Speicherort des API-Schlüssels. Gültige Werte sind „query“, „header“ oder „cookie“. |
name |
Name des zu verwendenden Header-, Abfrage- oder Cookie-Parameters. |
AgentCapabilities
Definiert das vom Agenten unterstützte A2A-Feature-Set.
| Felder | |
|---|---|
streaming |
Ob der Agent Streaming-Antworten unterstützt |
push_notifications |
Wenn der Kundenservicemitarbeiter Push-Benachrichtigungen an den Webhook des Kunden senden kann |
extensions[] |
Von diesem Agent unterstützte Erweiterungen. |
AgentCard
Die AgentCard enthält wichtige Informationen: – Allgemeine Details (Version, Name, Beschreibung, Verwendungszwecke) – Skills: eine Reihe von Aktionen/Lösungen, die der Agent ausführen kann – Standardmodalitäten/Inhaltstypen, die vom Agenten unterstützt werden – Authentifizierungsanforderungen Nächste ID: 19
| Felder | |
|---|---|
protocol_version |
Die Version des A2A-Protokolls, die dieser Agent unterstützt. |
name |
Ein menschenlesbarer Name für den KI-Agenten. Beispiel: „Recipe Agent“ |
description |
Eine Beschreibung des Handlungsbereichs/Lösungsraums des KI-Agenten. Beispiel: „Agent, der Nutzern bei Rezepten und beim Kochen hilft.“ |
url |
Eine URL zur Adresse, unter der der Agent gehostet wird. Dies ist der vom Agenten deklarierte bevorzugte Endpunkt. |
preferred_transport |
Der Transport des bevorzugten Endpunkts. Falls leer, ist der Standardwert JSONRPC. |
additional_interfaces[] |
Ankündigung zusätzlicher unterstützter Transportmethoden. Der Client kann eine beliebige der unterstützten Transportmethoden verwenden. |
provider |
Der Dienstanbieter des Agenten. |
version |
Die Version des Agents. Beispiel: „1.0.0“ |
documentation_url |
Eine URL, über die zusätzliche Dokumentation zum Agent bereitgestellt wird. |
capabilities |
Vom Agent unterstützte A2A-Funktionen. |
security_schemes |
Die Details des Sicherheitsschemas, die für die Authentifizierung bei diesem Agent verwendet werden. |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Sicherheitsanforderungen für die Kontaktaufnahme mit dem Kundenservicemitarbeiter. Diese Liste kann als ODER von UNDs betrachtet werden. Jedes Objekt in der Liste beschreibt eine mögliche Gruppe von Sicherheitsanforderungen, die in einer Anfrage vorhanden sein müssen. So kann beispielsweise festgelegt werden, dass Aufrufer entweder OAuth ODER einen API-Schlüssel UND mTLS verwenden müssen. Beispiel: security { schemes { key: "oauth" value { list: ["read"] } } } security { schemes { key: "api-key" } schemes { key: "mtls" } } |
default_input_modes[] |
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 MIME-Typen definiert. |
default_output_modes[] |
Die MIME-Typen, die als Ausgaben dieses Agents unterstützt werden. |
skills[] |
Skills sind eine Einheit von Fähigkeiten, die ein Agent ausführen kann. Das kann etwas abstrakt sein, stellt aber eine gezieltere Reihe von Aktionen dar, bei denen der Agent mit hoher Wahrscheinlichkeit erfolgreich sein wird. |
supports_authenticated_extended_card |
Gibt an, ob der Agent eine erweiterte Agentenkarte unterstützt, wenn der Nutzer authentifiziert ist. Das heißt, ob sich die Karte aus „.well-known“ von der Karte aus „GetAgentCard“ unterscheidet. |
signatures[] |
JSON Web Signatures, die für diese AgentCard berechnet wurden. |
icon_url |
Eine optionale URL zu einem Symbol für den Agent. |
AgentCardSignature
AgentCardSignature stellt eine JWS-Signatur einer AgentCard dar. Dies entspricht dem JSON-Format einer RFC 7515 JSON Web Signature (JWS).
| Felder | |
|---|---|
protected |
Erforderlich. Der geschützte JWS-Header für die Signatur. Dies ist immer ein base64url-codiertes JSON-Objekt. Erforderlich. |
signature |
Erforderlich. Die berechnete Signatur, base64url-codiert. Erforderlich. |
header |
Die ungeschützten JWS-Headerwerte. |
AgentExtension
Eine Deklaration einer Erweiterung, die von einem Agent unterstützt wird.
| Felder | |
|---|---|
uri |
Der URI der Erweiterung. Beispiel: „https://developers.google.com/identity/protocols/oauth2“ |
description |
Eine Beschreibung, wie dieser Agent diese Erweiterung verwendet. Beispiel: „Google OAuth 2.0-Authentifizierung“ |
required |
Gibt an, ob der Client bestimmte Anforderungen der Erweiterung erfüllen muss. Beispiel: false |
params |
Optionale Konfiguration für die Erweiterung. |
AgentInterface
Definiert zusätzliche Transportinformationen für den Agenten.
| Felder | |
|---|---|
url |
Die URL, unter der diese Benutzeroberfläche zu finden ist. |
transport |
Der von dieser URL unterstützte Transport. Dies ist ein offener Formularstring, der problemlos für viele Transportprotokolle erweitert werden kann. Die offiziell unterstützten Kernprotokolle sind JSONRPC, GRPC und HTTP+JSON. |
tenant |
Mandant, der in der Anfrage festgelegt werden soll, wenn der Agent aufgerufen wird. Experimentell, kann sich für die Version 1.0 noch ändern. |
AgentProvider
Stellt Informationen zum Dienstanbieter eines Agent dar.
| Felder | |
|---|---|
url |
Beispiel für die Referenz-URL des Anbieters: „https://ai.google.dev“ |
organization |
Der Name der Organisation des Anbieters, z. B. „Google“ |
AgentSkill
„AgentSkill“ steht für eine Aktion oder Lösung, die der Agent ausführen kann. Sie können sich das als eine Art hochzuverlässige Lösung vorstellen, die ein Agent bereitstellen kann. Agenten können selbst entscheiden, wie und wann sie bestimmte Skills einsetzen. Clients sollten jedoch darauf vertrauen können, dass die Aktion zuverlässig ausgeführt werden kann, wenn der Skill definiert ist.
| Felder | |
|---|---|
id |
Eindeutige Kennung des Skills innerhalb dieses Agents. |
name |
Ein für Menschen lesbarer Name für den Skill. |
description |
Eine für Menschen (oder LLMs) lesbare Beschreibung der Skill-Details und des Verhaltens. |
tags[] |
Eine Reihe von Tags für den Skill, um die Kategorisierung/Nutzung zu verbessern. Beispiel: [„Kochen“, „Kundensupport“, „Abrechnung“] |
examples[] |
Eine Reihe von Beispielanfragen, für die dieser Skill entwickelt wurde. Diese Beispiele sollen dem Anrufer helfen, Anfragen an den Agenten zu formulieren, um bestimmte Ziele zu erreichen. Beispiel: [„Ich brauche ein Rezept für Brot“] |
input_modes[] |
Mögliche unterstützte Eingabemodalitäten. |
output_modes[] |
Mögliche Ausgabemodalitäten |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Sicherheitskonzepte, die für den Agenten erforderlich sind, um diese Skill zu nutzen. Wie bei AgentCard.security insgesamt stellt diese Liste eine logische ODER-Verknüpfung von Sicherheitsanforderungsobjekten dar. Jedes Objekt ist eine Gruppe von Sicherheitskonzepten, die zusammen verwendet werden müssen (eine logische UND-Verknüpfung). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED |
Artefakt
Artefakte sind der Container für Ergebnisse abgeschlossener Aufgaben. Sie ähneln Nachrichten, sind aber das Ergebnis einer Aufgabe und nicht für die direkte Kommunikation gedacht.
| Felder | |
|---|---|
artifact_id |
Eindeutige Kennung (z.B. UUID) für das Artefakt. Sie muss mindestens innerhalb einer Aufgabe eindeutig sein. |
name |
Ein für Menschen lesbarer Name für das Artefakt. |
description |
Eine optionale, menschenlesbare Beschreibung des Artefakts. |
parts[] |
Der Inhalt des Artefakts. |
metadata |
Optionale Metadaten, die im Artefakt enthalten sind. |
extensions[] |
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 | |
|---|---|
schemes[] |
Unterstützte Authentifizierungsschemas, z.B. „Basic“ oder „Bearer“ |
credentials |
Optionale Anmeldedaten |
AuthorizationCodeOAuthFlow
| Felder | |
|---|---|
authorization_url |
Die für diesen Ablauf zu verwendende Autorisierungs-URL. Dies MUSS in Form einer URL erfolgen. Der OAuth2-Standard erfordert die Verwendung von TLS. |
token_url |
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 |
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 |
Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Eine Zuordnung zwischen dem Bereichsnamen und einer kurzen Beschreibung dafür. Die Karte KANN leer sein. |
CancelTaskRequest
| Felder | |
|---|---|
tenant |
Optionaler Mandant, der als Pfadparameter angegeben wird. Experimentell, kann sich für die Version 1.0 noch ändern. |
name |
Der Ressourcenname der abzubrechenden Aufgabe. Format: tasks/{task_id} |
ClientCredentialsOAuthFlow
| Felder | |
|---|---|
token_url |
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 |
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 |
Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Eine Zuordnung zwischen dem Bereichsnamen und einer kurzen Beschreibung dafür. Die Karte KANN leer sein. |
CreateTaskPushNotificationConfigRequest
| Felder | |
|---|---|
tenant |
Optionaler Mandant, der als Pfadparameter angegeben wird. Experimentell, kann sich für die Version 1.0 noch ändern. |
parent |
Erforderlich. Die übergeordnete Aufgabenressource für diese Konfiguration. Format: tasks/{task_id} |
config_id |
Erforderlich. Die ID für die neue Konfiguration. |
config |
Erforderlich. Die zu erstellende Konfiguration. |
DataPart
DataPart stellt einen strukturierten Blob dar. Dies ist in der Regel eine JSON-Nutzlast.
| Felder | |
|---|---|
data |
|
DeleteTaskPushNotificationConfigRequest
| Felder | |
|---|---|
tenant |
Optionaler Mandant, der als Pfadparameter angegeben wird. Experimentell, kann sich für die Version 1.0 noch ändern. |
name |
Der Ressourcenname der zu löschenden Konfiguration. Format: tasks/{task_id}/pushNotificationConfigs/{config_id} |
FilePart
„FilePart“ stellt die verschiedenen Möglichkeiten dar, Dateien bereitzustellen. Bei kleinen Dateien können die Bytes direkt über file_with_bytes bereitgestellt werden. Wenn die Datei groß ist, sollte der Agent den Inhalt direkt aus der Quelle „file_with_uri“ lesen.
| Felder | |
|---|---|
mime_type |
|
name |
|
Union-Feld Für |
|
file_with_uri |
|
file_with_bytes |
|
GetAgentCardRequest
| Felder | |
|---|---|
tenant |
Optionaler Mandant, der als Pfadparameter angegeben wird. Experimentell, kann sich für die Version 1.0 noch ändern. |
GetTaskPushNotificationConfigRequest
| Felder | |
|---|---|
tenant |
Optionaler Mandant, der als Pfadparameter angegeben wird. Experimentell, kann sich für die Version 1.0 noch ändern. |
name |
Der Ressourcenname der abzurufenden Konfiguration. Format: tasks/{task_id}/pushNotificationConfigs/{config_id} |
GetTaskRequest
| Felder | |
|---|---|
tenant |
Optionaler Mandant, der als Pfadparameter angegeben wird. Experimentell, kann sich für die Version 1.0 noch ändern. |
name |
Erforderlich. Der Ressourcenname der Aufgabe. Format: tasks/{task_id} |
history_length |
Die Anzahl der letzten Nachrichten aus dem Aufgabenverlauf, die abgerufen werden sollen. |
HTTPAuthSecurityScheme
| Felder | |
|---|---|
description |
Beschreibung dieses Sicherheitsschemas. |
scheme |
Der Name des HTTP-Authentifizierungsschemas, das im Autorisierungsheader verwendet werden soll, wie in RFC7235 definiert. Die verwendeten Werte SOLLTEN in der IANA Authentication Scheme Registry registriert sein. Bei dem Wert wird die Groß- und Kleinschreibung nicht berücksichtigt, wie in RFC7235 definiert. |
bearer_format |
Ein Hinweis für den Client, wie das Bearer-Token formatiert ist. Bearer-Tokens werden in der Regel von einem Autorisierungsserver generiert. Diese Informationen dienen daher in erster Linie Dokumentationszwecken. |
ImplicitOAuthFlow
| Felder | |
|---|---|
authorization_url |
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 |
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 |
Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Eine Zuordnung zwischen dem Bereichsnamen und einer kurzen Beschreibung dafür. Die Karte KANN leer sein. |
ListTaskPushNotificationConfigRequest
| Felder | |
|---|---|
tenant |
Optionaler Mandant, der als Pfadparameter angegeben wird. Experimentell, kann sich für die Version 1.0 noch ändern. |
parent |
Die übergeordnete Aufgabenressource. Format: tasks/{task_id} |
page_size |
Für AIP-158 sind diese Felder vorhanden. Wird normalerweise nicht verwendet/benötigt. Die maximale Anzahl der zurückzugebenden Konfigurationen. Wenn nichts angegeben ist, werden alle Konfigurationen zurückgegeben. |
page_token |
Ein Seitentoken, das von einem vorherigen ListTaskPushNotificationConfigRequest-Aufruf empfangen wurde. Geben Sie dieses an, um die nachfolgende Seite abzurufen. Beim Paginieren müssen alle anderen für |
ListTaskPushNotificationConfigResponse
| Felder | |
|---|---|
configs[] |
Die Liste der Push-Benachrichtigungskonfigurationen. |
next_page_token |
Ein Token, das als |
Nachricht
Eine Nachricht ist eine Kommunikationseinheit zwischen Client und Server. Sie ist mit einem Kontext und optional mit einer Aufgabe verknüpft. Da der Server für die Kontextdefinition verantwortlich ist, muss er in seinen Nachrichten immer eine „context_id“ angeben. Der Client kann optional die context_id angeben, wenn er den Kontext kennt, dem die Nachricht zugeordnet werden soll. Ähnlich verhält es sich mit task_id. Hier entscheidet der Server, ob eine Aufgabe erstellt und ob die task_id eingefügt werden soll.
| Felder | |
|---|---|
message_id |
Die eindeutige Kennung (z.B. UUID) der Nachricht. Dies ist erforderlich und wird vom Ersteller der Nachricht erstellt. |
context_id |
Die Kontext-ID der Nachricht. Dies ist optional. Wenn der Kontext festgelegt ist, wird die Nachricht dem angegebenen Kontext zugeordnet. |
task_id |
Die Aufgaben-ID der Nachricht. Dies ist optional. Wenn Sie eine Aufgabe angeben, wird die Nachricht mit dieser Aufgabe verknüpft. |
role |
Eine Rolle für die Nachricht. |
content[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content ist der Container des Nachrichteninhalts. |
metadata |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED: Optionale Metadaten, die zusammen mit der Nachricht angegeben werden sollen. |
extensions[] |
Die URIs von Erweiterungen, die in dieser Nachricht vorhanden sind oder zu dieser Nachricht beigetragen haben. |
MutualTlsSecurityScheme
| Felder | |
|---|---|
description |
Beschreibung dieses Sicherheitsschemas. |
OAuth2SecurityScheme
| Felder | |
|---|---|
description |
Beschreibung dieses Sicherheitsschemas. |
flows |
Ein Objekt mit Konfigurationsinformationen für die unterstützten Flow-Typen |
oauth2_metadata_url |
URL zu den OAuth2-Autorisierungsserver-Metadaten RFC8414. TLS ist erforderlich. |
OAuthFlows
| Felder | |
|---|---|
Union-Feld Für |
|
authorization_code |
|
client_credentials |
|
implicit |
|
password |
|
OpenIdConnectSecurityScheme
| Felder | |
|---|---|
description |
Beschreibung dieses Sicherheitsschemas. |
open_id_connect_url |
Bekannte URL zum Ermitteln der [[OpenID-Connect-Discovery]]-Anbietermetadaten. |
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 |
Optionale Metadaten, die mit diesem Teil verknüpft sind. |
Union-Feld Für |
|
text |
|
file |
|
data |
|
PasswordOAuthFlow
| Felder | |
|---|---|
token_url |
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 |
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 |
Die verfügbaren Bereiche für das OAuth2-Sicherheitsschema. Eine Zuordnung zwischen dem Bereichsnamen und einer kurzen Beschreibung dafür. Die Karte KANN leer sein. |
PushNotificationConfig
Konfiguration zum Einrichten von Push-Benachrichtigungen für Aufgaben-Updates.
| Felder | |
|---|---|
id |
Eine eindeutige Kennung (z.B. UUID) für diese Push-Benachrichtigung. |
url |
URL, an die die Benachrichtigung gesendet werden soll |
token |
Token, das für diese Aufgabe/Sitzung eindeutig ist |
authentication |
Informationen zur Authentifizierung, die mit der Benachrichtigung gesendet werden |
Rolle
| Enums | |
|---|---|
ROLE_UNSPECIFIED |
|
ROLE_USER |
Die USER-Rolle bezieht sich auf die Kommunikation vom Client zum Server. |
ROLE_AGENT |
Die AGENT-Rolle bezieht sich auf die Kommunikation vom Server zum Client. |
Sicherheit
| Felder | |
|---|---|
schemes |
|
SecurityScheme
| Felder | |
|---|---|
Union-Feld Für |
|
api_key_security_scheme |
|
http_auth_security_scheme |
|
oauth2_security_scheme |
|
open_id_connect_security_scheme |
|
mtls_security_scheme |
|
SendMessageConfiguration
Konfiguration einer Nachrichtenanfrage.
| Felder | |
|---|---|
accepted_output_modes[] |
Die Ausgabemodi, mit denen der Agent antworten soll. |
push_notification |
Eine Konfiguration eines Webhooks, mit dem Updates empfangen werden können |
history_length |
Die maximale Anzahl von Nachrichten, die im Verlauf enthalten sein sollen. Bei 0 ist der Verlauf unbegrenzt. |
blocking |
Wenn „true“ festgelegt ist, wird die Nachricht blockiert, bis die Aufgabe abgeschlossen ist. Wenn „false“ festgelegt ist, wird die Nachricht nicht blockiert und die Aufgabe wird sofort zurückgegeben. Der Aufrufer ist dafür verantwortlich, nach Aufgabenaktualisierungen zu suchen. |
SendMessageRequest
////////// Anfragenachrichten ///////////
| Felder | |
|---|---|
tenant |
Optionaler Mandant, der als Pfadparameter angegeben wird. Experimentell, kann sich für die Version 1.0 noch ändern. |
request |
Erforderlich. Die Nachricht, die an den Agenten gesendet werden soll. |
configuration |
Konfiguration für die Sendeanfrage. |
metadata |
Optionale Metadaten für die Anfrage. |
SendMessageResponse
////// Antwortnachrichten ///////////
| Felder | |
|---|---|
Union-Feld Für |
|
task |
|
msg |
|
StreamResponse
Die Stream-Antwort für eine Nachricht. Der Stream sollte eine der folgenden Sequenzen sein: Wenn die Antwort eine Nachricht ist, sollte der Stream eine und nur eine Nachricht enthalten und dann geschlossen werden. Wenn die Antwort ein Aufgabenlebenszyklus ist, sollte die erste Antwort ein Task-Objekt sein, gefolgt von null oder mehr TaskStatusUpdateEvents und TaskArtifactUpdateEvents. Der Stream sollte abgeschlossen werden, wenn sich die Aufgabe in einem unterbrochenen oder endgültigen Zustand befindet. Ein Stream, der endet, bevor diese Bedingungen erfüllt sind,
| Felder | |
|---|---|
Union-Feld Für |
|
task |
|
msg |
|
status_update |
|
artifact_update |
|
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
| Felder | |
|---|---|
list[] |
|
Aufgabe
Die Aufgabe 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 Züge für eine Aufgabe gibt, werden diese im Verlauf gespeichert.
| Felder | |
|---|---|
id |
Eindeutige Kennung (z.B. UUID) für die Aufgabe, die vom Server für eine neue Aufgabe generiert wird. |
context_id |
Eindeutige Kennung (z.B. UUID) für die kontextbezogene Sammlung von Interaktionen (Aufgaben und Nachrichten). Wird vom A2A-Server erstellt. |
status |
Der aktuelle Status einer Aufgabe, einschließlich Zustand und einer Nachricht. |
artifacts[] |
Eine Reihe von Ausgabeartefakten für eine Aufgabe. |
history[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Der Verlauf der Interaktionen einer Aufgabe. |
metadata |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Ein Schlüssel/Wert-Objekt zum Speichern benutzerdefinierter Metadaten zu einer Aufgabe. |
TaskArtifactUpdateEvent
TaskArtifactUpdateEvent stellt ein Aufgabendelta dar, in dem ein Artefakt generiert wurde.
| Felder | |
|---|---|
task_id |
Die ID der Aufgabe für dieses Artefakt |
context_id |
Die ID des Kontexts, zu dem diese Aufgabe gehört. |
artifact |
Das Artefakt selbst |
append |
Ob dies an eine zuvor erstellte Antwort angehängt werden soll |
last_chunk |
Gibt an, ob dies der letzte Teil eines Artefakts ist. |
metadata |
Optionale Metadaten, die mit der Aktualisierung des Artefakts verknüpft sind. |
TaskPushNotificationConfig
| Felder | |
|---|---|
name |
Der Ressourcenname der Konfiguration. Format: tasks/{task_id}/pushNotificationConfigs/{config_id} |
push_notification_config |
Die Konfigurationsdetails für Push-Benachrichtigungen. |
TaskState
Die Anzahl der Status, in denen sich eine Aufgabe befinden kann.
| Enums | |
|---|---|
TASK_STATE_UNSPECIFIED |
|
TASK_STATE_SUBMITTED |
Stellt den Status dar, der bestätigt, dass eine Aufgabe erstellt wurde. |
TASK_STATE_WORKING |
Stellt den Status dar, in dem eine Aufgabe aktiv verarbeitet wird. |
TASK_STATE_COMPLETED |
Gibt den Status an, wenn eine Aufgabe abgeschlossen ist. Dies ist ein Endstatus. |
TASK_STATE_FAILED |
Stellt den Status dar, wenn eine Aufgabe abgeschlossen, aber fehlgeschlagen ist. Dies ist ein Endstatus. |
TASK_STATE_CANCELLED |
Gibt den Status an, wenn eine Aufgabe abgebrochen wurde, bevor sie abgeschlossen war. Dies ist ein Endstatus. |
TASK_STATE_INPUT_REQUIRED |
Gibt den Status an, in dem für die Aufgabe Informationen erforderlich sind, um sie abzuschließen. Dies ist ein unterbrochener Status. |
TASK_STATE_REJECTED |
Gibt den Status an, in dem der Agent beschlossen 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 vom Upstream-Client eine Authentifizierung erforderlich ist. Die Authentifizierung erfolgt voraussichtlich Out-of-Band. Dies ist also kein unterbrochener oder endgültiger Status. |
TaskStatus
Ein Container für den Status einer Aufgabe
| Felder | |
|---|---|
state |
Der aktuelle Status dieser Aufgabe |
update |
Eine Nachricht, die mit dem Status verknüpft ist. |
timestamp |
Zeitstempel, zu dem der Status aufgezeichnet wurde. Beispiel: „2023-10-27T10:00:00Z“ |
TaskStatusUpdateEvent
TaskStatusUpdateEvent ist ein Delta-Ereignis für eine Aufgabe, das angibt, dass sich eine Aufgabe geändert hat.
| Felder | |
|---|---|
task_id |
Die ID der geänderten Aufgabe |
context_id |
Die ID des Kontexts, zu dem die Aufgabe gehört |
status |
Der neue Status der Aufgabe. |
final |
Gibt an, ob dies die letzte Statusaktualisierung ist, die für diese Aufgabe erwartet wird. |
metadata |
Optionale Metadaten, die mit der Aufgabenaktualisierung verknüpft werden sollen. |
TaskSubscriptionRequest
| Felder | |
|---|---|
tenant |
Optionaler Mandant, der als Pfadparameter angegeben wird. Experimentell, kann sich für die Version 1.0 noch ändern. |
name |
Der Ressourcenname der Aufgabe, für die Sie sich anmelden möchten. Format: tasks/{task_id} |