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. Das Format unterscheidet sich leicht von der JSONRPC-Version, um bei Bedarf 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 |
|---|
|
Aufgabe über den Agent abbrechen Wenn die Unterstützung erfolgt ist, sind keine weiteren Aufgabenaktualisierungen zu erwarten.
|
| 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 Kundenservicemitarbeiter 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 Aufgabe angehängt, die gerade bearbeitet wird. Wenn die Aufgabe abgeschlossen ist, gibt der Stream die abgeschlossene Aufgabe zurück (wie GetTask) und wird geschlossen.
|
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 die vom KI-Agenten unterstützten A2A-Funktionen.
| Felder | |
|---|---|
streaming |
Ob der Kundenservicemitarbeiter 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 für Menschen lesbarer Name für den Agent. 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 zu der Adresse, unter der der Agent gehostet wird. Dies ist der vom Agent deklarierte bevorzugte Endpunkt. |
preferred_transport |
Der Transport des bevorzugten Endpunkts. Falls leer, ist der Standardwert JSONRPC. |
additional_interfaces[] |
Ankündigung zusätzlicher unterstützter Transportmittel Der Client kann einen der unterstützten Transporte 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[] |
Kompetenzen stellen eine Einheit von Fähigkeiten dar, die ein Kundenservicemitarbeiter ausführen kann. Das ist vielleicht etwas abstrakt, aber es handelt sich um eine gezieltere Reihe von Aktionen, 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 |
Der 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 Agenten 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“ stellt eine Einheit für Aktionen/Lösungen dar, die der Agent ausführen kann. Das kann als eine Art hochzuverlässige Lösung betrachtet werden, die ein Agent bereitstellen soll. KI-Agenten können selbst entscheiden, wie und wann sie bestimmte Skills einsetzen. Clients sollten jedoch darauf vertrauen können, dass die entsprechende Aktion zuverlässig ausgeführt wird, wenn der Skill definiert ist.
| Felder | |
|---|---|
id |
Eindeutige Kennung des Skills innerhalb dieses Agents. |
name |
Ein für Menschen lesbarer Name für die Skill. |
description |
Eine für Menschen (oder LLMs) lesbare Beschreibung der Skill-Details und des Skill-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, die dieser Skill beantworten soll. Diese Beispiele sollen dem Anrufer helfen, Anfragen an den Agent 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 Funktion zu nutzen. Wie bei „AgentCard.security“ insgesamt stellt diese Liste eine logische ODER-Verknüpfung von Sicherheitsanforderungsobjekten dar. Jedes Objekt ist eine Gruppe von Sicherheitsschemas, die zusammen verwendet werden müssen (logisches UND). 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. 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. 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 ein strukturiertes Blob dar. In den meisten Fällen handelt es sich dabei um 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, der angibt, wie das Inhabertoken formatiert ist. Bearer-Tokens werden in der Regel von einem Autorisierungsserver generiert. Diese Informationen dienen also 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. 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 es festlegen, wird die Nachricht der angegebenen Aufgabe zugeordnet. |
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. 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 Anfrage zum Senden von Nachrichten.
| 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 |
Bei „true“ wird die Meldung blockiert, bis die Aufgabe abgeschlossen ist. Wenn „false“ festgelegt ist, ist die Nachricht nicht blockierend und die Aufgabe wird sofort zurückgegeben. Es liegt in der Verantwortung des Anrufers, 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 Streamantwort 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
Eine 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 Status 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, bei 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 Artefaktaktualisierung verknüpft sind. |
TaskPushNotificationConfig
| Felder | |
|---|---|
name |
Der Ressourcenname der Konfiguration. Format: tasks/{task_id}/pushNotificationConfigs/{config_id} |
push_notification_config |
Die Details zur Konfiguration von 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 |
Gibt den Status an, wenn eine Aufgabe abgeschlossen, aber fehlgeschlagen ist. Dies ist ein Endstatus. |
TASK_STATE_CANCELLED |
Gibt den Status an, in dem eine Aufgabe abgebrochen wurde, bevor sie abgeschlossen war. Dies ist ein Terminalstatus. |
TASK_STATE_INPUT_REQUIRED |
Gibt den Status an, für den Informationen zur Vervollständigung der Aufgabe erforderlich sind. Dies ist ein unterbrochener Zustand. |
TASK_STATE_REJECTED |
Gibt den Status an, in dem der Agent 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 durch den Upstream-Client 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, der angibt, wann 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 für diese Aufgabe ist. |
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, die abonniert werden soll. Format: tasks/{task_id} |