MCP Tools Reference: ces.googleapis.com

Tool: update_toolset

Aktualisiert das angegebene Toolset. Achten Sie darauf, dass Sie immer eine Aktualisierungsmaske in der Eingabe übergeben.

Im folgenden Beispiel wird gezeigt, wie Sie mit curl das MCP-Tool update_toolset aufrufen.

Curl-Anfrage
                  
curl --location 'https://ces.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "update_toolset",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Eingabeschema

Anfragenachricht für AgentService.UpdateToolset.

UpdateToolsetRequest

JSON-Darstellung
{
  "toolset": {
    object (Toolset)
  },
  "updateMask": string
}
Felder
toolset

object (Toolset)

Erforderlich. Das zu aktualisierende Toolset.

updateMask

string (FieldMask format)

Optional. Mit der Feldmaske wird gesteuert, welche Felder aktualisiert werden. Wenn die Maske nicht vorhanden ist, werden alle Felder aktualisiert.

Dies ist eine kommagetrennte Liste vollständig qualifizierter Feldnamen. Beispiel: "user.displayName,photo".

Toolset

JSON-Darstellung
{
  "name": string,
  "displayName": string,
  "description": string,
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionType": enum (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
Felder
name

string

ID. Die eindeutige ID des Toolsets. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

Optional. Der Anzeigename des Toolsets. Muss innerhalb derselben App eindeutig sein.

description

string

Optional. Die Beschreibung des Toolsets.

timeout

string (Duration format)

Optional. Das Zeitlimit für die Toolset-Ausführung. Wenn nichts anderes festgelegt ist, beträgt das Standard-Zeitlimit 30 Sekunden für SYNCHRONOUS-Toolsets und 60 Sekunden für ASYNCHRONOUS-Toolsets.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „s“. Beispiel: "3.5s".

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel für die Erstellung des Toolsets.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel der letzten Aktualisierung des Toolsets.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

etag

string

ETag, das verwendet wird, um sicherzustellen, dass sich das Objekt während eines Read-Modify-Write-Vorgangs nicht geändert hat. Wenn das ETag leer ist, werden alle gleichzeitigen Änderungen durch das Update überschrieben.

executionType

enum (ExecutionType)

Optional. Der Ausführungstyp der Tools im Toolset.

toolFakeConfig

object (ToolFakeConfig)

Optional. Konfiguration für das Verhalten von Tools im Fälschungsmodus.

Union-Feld toolset_type. Der Typ des Toolsets. Für toolset_type ist nur einer der folgenden Werte zulässig:
mcpToolset

object (McpToolset)

Optional. Ein Toolset, das eine Liste der Tools enthält, die vom MCP-Server angeboten werden.

openApiToolset

object (OpenApiToolset)

Optional. Ein Toolset, das eine Liste von Tools enthält, die durch ein OpenAPI-Schema definiert werden.

connectorToolset

object (ConnectorToolset)

Optional. Eine Sammlung von Tools, die aus einer Integration Connectors-Verbindung generiert werden.

McpToolset

JSON-Darstellung
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
Felder
serverAddress

string

Erforderlich. Die Adresse des MCP-Servers, z. B. „https://beispiel.de/mcp/“. Wenn der Server mit dem MCP SDK erstellt wurde, sollte die URL mit „/mcp/“ enden. Es werden nur Streamable HTTP-Transport-basierte Server unterstützt. Weitere Informationen finden Sie unter https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http.

apiAuthentication

object (ApiAuthentication)

Optional. Authentifizierungsinformationen, die für den Zugriff auf Tools und die Ausführung eines Tools auf dem MCP-Server erforderlich sind. Bei der Bearer-Token-Authentifizierung gilt das Token nur für die Ausführung von Tools, nicht für die Auflistung von Tools. Dazu müssen Tools ohne Authentifizierung aufgeführt werden können.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Optional. Service Directory-Konfiguration für VPC-SC, die zum Auflösen von Dienstnamen innerhalb eines Perimeters verwendet wird.

tlsConfig

object (TlsConfig)

Optional. Die TLS-Konfiguration. Enthält die benutzerdefinierten Serverzertifikate, denen der Client vertrauen soll.

customHeaders

map (key: string, value: string)

Optional. Die benutzerdefinierten Header, die in der Anfrage an den MCP-Server gesendet werden sollen. Die Werte müssen das Format $context.variables.<name_of_variable> haben und können in den Sitzungsvariablen festgelegt werden. Weitere Informationen finden Sie unter https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

toolOverrides[]

object (McpToolOverride)

Optional. Überschreibungen für einzelne Tools in diesem Toolset. So können Sie bestimmte Details wie Beschreibungen oder Namen überschreiben oder den Status der Tools fixieren, damit er nicht vollständig dynamisch ist.

ApiAuthentication

JSON-Darstellung
{

  // Union field auth_config can be only one of the following:
  "apiKeyConfig": {
    object (ApiKeyConfig)
  },
  "oauthConfig": {
    object (OAuthConfig)
  },
  "serviceAgentIdTokenAuthConfig": {
    object (ServiceAgentIdTokenAuthConfig)
  },
  "serviceAccountAuthConfig": {
    object (ServiceAccountAuthConfig)
  },
  "bearerTokenConfig": {
    object (BearerTokenConfig)
  }
  // End of list of possible types for union field auth_config.
}
Felder
Union-Feld auth_config. Die Authentifizierungskonfiguration. Für auth_config ist nur einer der folgenden Werte zulässig:
apiKeyConfig

object (ApiKeyConfig)

Optional. Konfiguration für die API-Schlüsselauthentifizierung.

oauthConfig

object (OAuthConfig)

Optional. Konfiguration für OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Optional. Konfiguration für die ID-Token-Authentifizierung, die vom CES-Dienst-Agent generiert wurde.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Optional. Konfiguration für die Dienstkontoauthentifizierung.

bearerTokenConfig

object (BearerTokenConfig)

Optional. Konfiguration für die Inhabertoken-Authentifizierung.

ApiKeyConfig

JSON-Darstellung
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Felder
keyName

string

Erforderlich. Der Parametername oder der Headername des API-Schlüssels. Beispiel: Wenn die API-Anfrage „https://example.com/act?X-Api-Key=“ lautet, ist „X-Api-Key“ der Parametername.

apiKeySecretVersion

string

Erforderlich. Der Name der Secret-Versionsressource des Secret Manager, in der der API-Schlüssel gespeichert ist. Format: projects/{project}/secrets/{secret}/versions/{version}

Hinweis: Sie sollten dem CES-Dienst-Agenten service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com die Rolle roles/secretmanager.secretAccessor zuweisen.

requestLocation

enum (RequestLocation)

Erforderlich. Schlüsselposition in der Anfrage.

OAuthConfig

JSON-Darstellung
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Felder
oauthGrantType

enum (OauthGrantType)

Erforderlich. OAuth-Berechtigungstypen.

clientId

string

Erforderlich. Die Client-ID des OAuth-Anbieters.

clientSecretVersion

string

Erforderlich. Der Name der SecretManager-Secret-Versionsressource, in der der Clientschlüssel gespeichert ist. Format: projects/{project}/secrets/{secret}/versions/{version}

Hinweis: Sie sollten dem CES-Dienst-Agenten service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com die Rolle roles/secretmanager.secretAccessor zuweisen.

tokenEndpoint

string

Erforderlich. Der Token-Endpunkt im OAuth-Anbieter, der gegen ein Zugriffstoken getauscht werden soll.

scopes[]

string

Optional. Die zu gewährenden OAuth-Bereiche.

ServiceAccountAuthConfig

JSON-Darstellung
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Felder
serviceAccount

string

Erforderlich. Die E‑Mail-Adresse des für die Authentifizierung verwendeten Dienstkontos. CES verwendet dieses Dienstkonto, um ein Zugriffstoken auszutauschen. Das Zugriffstoken wird dann im Authorization-Header der Anfrage gesendet.

Dem Dienstkonto muss die Rolle roles/iam.serviceAccountTokenCreator für den CES-Dienst-Agenten service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com zugewiesen sein.

scopes[]

string

Optional. Die zu gewährenden OAuth-Bereiche. Wenn nichts angegeben ist, wird der Standardbereich https://www.googleapis.com/auth/cloud-platform verwendet.

BearerTokenConfig

JSON-Darstellung
{
  "token": string
}
Felder
token

string

Erforderlich. Das Inhabertoken. Muss das Format $context.variables.<name_of_variable> aufweisen.

ServiceDirectoryConfig

JSON-Darstellung
{
  "service": string
}
Felder
service

string

Erforderlich. Der Name des Service Directory-Dienstes. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. Der Speicherort des Dienstverzeichnisses muss mit dem Speicherort der App übereinstimmen.

TlsConfig

JSON-Darstellung
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Felder
caCerts[]

object (CaCert)

Erforderlich. Gibt eine Liste der zulässigen benutzerdefinierten CA-Zertifikate für die HTTPS-Überprüfung an.

CaCert

JSON-Darstellung
{
  "displayName": string,
  "cert": string
}
Felder
displayName

string

Erforderlich. Der Name der zulässigen benutzerdefinierten CA-Zertifikate. Damit können die benutzerdefinierten CA-Zertifikate eindeutig identifiziert werden.

cert

string (bytes format)

Erforderlich. Die zulässigen benutzerdefinierten CA-Zertifikate (im DER-Format) für die HTTPS-Überprüfung. Dadurch wird der Standard-SSL-Trust-Anchor überschrieben. Wenn dieses Feld leer oder nicht angegeben ist, verwendet CES den Standard-Trust Store von Google, um Zertifikate zu prüfen. Hinweis: Die HTTPS-Serverzertifikate müssen mit „subject alt name“ signiert sein. Ein Zertifikat kann beispielsweise mit dem folgenden Befehl selbst signiert werden:

   openssl x509 -req -days 200 -in example.com.csr \
     -signkey example.com.key \
     -out example.com.crt \
     -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

Ein base64-codierter String.

CustomHeadersEntry

JSON-Darstellung
{
  "key": string,
  "value": string
}
Felder
key

string

value

string

McpToolOverride

JSON-Darstellung
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
Felder
tool

string

Erforderlich. Der ursprüngliche Name des Tools, wie er vom MCP-Server ausgegeben wird.

nameOverride

string

Optional. Wenn dieser Name vorhanden ist, wird er vom Tool im Agent anstelle des ursprünglichen Namens verwendet. Dies wird hauptsächlich als Alias verwendet, wenn der MCP-Server schlecht benannte Tools anbietet.

descriptionOverride

string

Optional. Falls vorhanden, wird diese Beschreibung anstelle der ursprünglichen Beschreibung vom Server verwendet.

snapshot

object (McpToolDefinition)

Nur Ausgabe. Wenn das Tool vorhanden ist, wird es angepinnt und verwendet die Snapshot-Werte als Fallback, wenn der Server vorübergehend nicht verfügbar ist oder keine Überschreibung vorhanden ist.

McpToolDefinition

JSON-Darstellung
{
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  }
}
Felder
description

string

Nur Ausgabe. Die Beschreibung des MCP-Tools. Dies kann durch description_override in McpToolOverride überschrieben werden.

inputSchema

object (Schema)

Nur Ausgabe. Das Schema der Eingabeargumente des MCP-Tools.

outputSchema

object (Schema)

Nur Ausgabe. Das Schema der Ausgabeargumente des MCP-Tools.

Schema

JSON-Darstellung
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
Felder
type

enum (Type)

Erforderlich. Der Typ der Daten.

properties

map (key: string, value: object (Schema))

Optional. Attribute von Type.OBJECT.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Optional. Erforderliche Eigenschaften von Type.OBJECT.

description

string

Optional. Die Beschreibung der Daten.

items

object (Schema)

Optional. Schema der Elemente von Type.ARRAY.

nullable

boolean

Optional. Gibt an, ob der Wert null sein darf.

uniqueItems

boolean

Optional. Geben Sie an, dass die Elemente im Array eindeutig sein müssen. Gilt nur für TYPE.ARRAY.

prefixItems[]

object (Schema)

Optional. Schemas der ersten Elemente von Type.ARRAY.

additionalProperties

object (Schema)

Optional. Kann entweder ein boolescher Wert oder ein Objekt sein. Steuert das Vorhandensein zusätzlicher Attribute.

anyOf[]

object (Schema)

Optional. Der Wert sollte anhand eines oder mehrerer der Unterschemas in der Liste validiert werden.

enum[]

string

Optional. Mögliche Werte des Elements des einfachen Typs im enum-Format. Beispiele: 1. Wir können die Richtung so definieren : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Wir können die Wohnungsnummer so definieren : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Optional. Standardwert der Daten.

ref

string

Optional. Ermöglicht indirekte Verweise zwischen Schemaknoten. Der Wert sollte ein gültiger Verweis auf ein untergeordnetes Element des Stamm-defs sein.

Das folgende Schema definiert beispielsweise eine Referenz auf einen Schemaknoten mit dem Namen „Pet“:

type: object
properties:
  pet:
    ref: #/defs/Pet
defs:
  Pet:
    type: object
    properties:
      name:
        type: string

Der Wert der Property „pet“ ist ein Verweis auf den Schemaknoten mit dem Namen „Pet“. Weitere Informationen finden Sie unter https://json-schema.org/understanding-json-schema/structuring.

defs

map (key: string, value: object (Schema))

Optional. Eine Karte mit Definitionen zur Verwendung durch ref. Nur im Stammverzeichnis des Schemas zulässig.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Optional. Der Titel des Schemas.

minItems

string (int64 format)

Optional. Mindestanzahl der Elemente für Type.ARRAY.

maxItems

string (int64 format)

Optional. Maximale Anzahl der Elemente für Type.ARRAY.

Union-Feld _minimum.

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

minimum

number

Optional. Mindestwert für Type.INTEGER und Type.NUMBER.

Union-Feld _maximum.

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

maximum

number

Optional. Maximaler Wert für Type.INTEGER und Type.NUMBER.

PropertiesEntry

JSON-Darstellung
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Felder
key

string

value

object (Schema)

Wert

JSON-Darstellung
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Felder
Union-Feld kind. Die Art des Werts. Für kind ist nur einer der folgenden Werte zulässig:
nullValue

null

Stellt ein JSON-null dar.

numberValue

number

Stellt eine JSON-Zahl dar. Darf nicht NaN, Infinity oder -Infinity sein, da diese in JSON nicht unterstützt werden. Auch große Int64-Werte können nicht dargestellt werden, da das JSON-Format sie in seinem Zahlentyp generell nicht unterstützt.

stringValue

string

Stellt einen JSON-String dar.

boolValue

boolean

Stellt einen booleschen JSON-Wert dar (true- oder false-Literal in JSON).

structValue

object (Struct format)

Stellt ein JSON-Objekt dar.

listValue

array (ListValue format)

Stellt ein JSON-Array dar.

Struct

JSON-Darstellung
{
  "fields": {
    string: value,
    ...
  }
}
Felder
fields

map (key: string, value: value (Value format))

Ungeordnete Zuordnung von dynamisch typisierten Werten.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

JSON-Darstellung
{
  "key": string,
  "value": value
}
Felder
key

string

value

value (Value format)

ListValue

JSON-Darstellung
{
  "values": [
    value
  ]
}
Felder
values[]

value (Value format)

Wiederkehrendes Feld mit dynamisch typisierten Werten.

DefsEntry

JSON-Darstellung
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Felder
key

string

value

object (Schema)

OpenApiToolset

JSON-Darstellung
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Felder
openApiSchema

string

Erforderlich. Das OpenAPI-Schema des Toolsets.

apiAuthentication

object (ApiAuthentication)

Optional. Von der API benötigte Authentifizierungsinformationen.

tlsConfig

object (TlsConfig)

Optional. Die TLS-Konfiguration. Benutzerdefinierte Serverzertifikate sind enthalten

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Optional. Service Directory-Konfiguration.

ignoreUnknownFields

boolean

Optional. Bei „true“ ignoriert der Agent unbekannte Felder in der API-Antwort für alle im OpenAPI-Schema definierten Vorgänge.

url

string

Optional. Die Server-URL des Open API-Schemas. Dieses Feld wird nur in Toolsets in den Umgebungsabhängigkeiten während des Exportvorgangs festgelegt, wenn das Schema eine Server-URL enthält. Wenn diese URL während des Importvorgangs in den Umgebungsabhängigkeiten vorhanden ist und das Schema den Platzhalter $env_var enthält, wird der Platzhalter im Schema ersetzt.

ConnectorToolset

JSON-Darstellung
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
Felder
connection

string

Erforderlich. Der vollständige Ressourcenname der referenzierten Integration Connectors-Verbindung. Format: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

Optional. Konfiguriert, wie die Authentifizierung in Integration Connectors gehandhabt wird. Standardmäßig wird eine Administratorauthentifizierung in den Integration Connectors API-Anfragen übergeben. Sie können sie mit einer anderen Konfiguration für die Endnutzerauthentifizierung überschreiben. Hinweis: Für die Verbindung muss die Authentifizierungsüberschreibung aktiviert sein, damit Sie hier eine EUC-Konfiguration angeben können. Andernfalls schlägt die Erstellung des Toolsets fehl. Weitere Informationen finden Sie unter https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override.

connectorActions[]

object (Action)

Erforderlich. Die Liste der Connector-Aktionen/Entitätsvorgänge, für die Tools generiert werden sollen.

EndUserAuthConfig

JSON-Darstellung
{

  // Union field auth_config can be only one of the following:
  "oauth2AuthCodeConfig": {
    object (Oauth2AuthCodeConfig)
  },
  "oauth2JwtBearerConfig": {
    object (Oauth2JwtBearerConfig)
  }
  // End of list of possible types for union field auth_config.
}
Felder
Union-Feld auth_config. Die Authentifizierungskonfiguration. Für auth_config ist nur einer der folgenden Werte zulässig:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Oauth 2.0-Authentifizierung mit Autorisierungscode.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Authentifizierung mit OAuth 2.0-Berechtigungstyp zur Autorisierung mit JWT-Profil.

Oauth2AuthCodeConfig

JSON-Darstellung
{
  "oauthToken": string
}
Felder
oauthToken

string

Erforderlich. Name des OAuth-Tokenparameters, der übergeben werden soll. Muss das Format $context.variables.<name_of_variable> aufweisen.

Oauth2JwtBearerConfig

JSON-Darstellung
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Felder
issuer

string

Erforderlich. Name des Ausstellerparameters, der übergeben werden soll. Muss das Format $context.variables.<name_of_variable> aufweisen.

subject

string

Erforderlich. Name des Inhaberparameters, der weitergegeben werden soll. Muss das Format $context.variables.<name_of_variable> aufweisen.

clientKey

string

Erforderlich. Name des Clientparameters, der übergeben werden soll. Muss das Format $context.variables.<name_of_variable> aufweisen.

Aktion

JSON-Darstellung
{
  "inputFields": [
    string
  ],
  "outputFields": [
    string
  ],

  // Union field action_spec can be only one of the following:
  "connectionActionId": string,
  "entityOperation": {
    object (EntityOperation)
  }
  // End of list of possible types for union field action_spec.
}
Felder
inputFields[]

string

Optional. Entitätsfelder, die als Eingaben für den Vorgang verwendet werden sollen. Wenn keine Felder angegeben sind, werden alle Felder der Entität verwendet.

outputFields[]

string

Optional. Die Entitätsfelder, die vom Vorgang zurückgegeben werden sollen. Wenn keine Felder angegeben sind, werden alle Felder der Entität zurückgegeben.

Union-Feld action_spec. Spezifikation für eine Aktion, die für das zu verwendende Tool konfiguriert werden soll. Für action_spec ist nur einer der folgenden Werte zulässig:
connectionActionId

string

ID einer Verbindungsaktion für das zu verwendende Tool.

entityOperation

object (EntityOperation)

Konfiguration für den Entitätsvorgang, die vom Tool verwendet werden soll.

EntityOperation

JSON-Darstellung
{
  "entityId": string,
  "operation": enum (OperationType)
}
Felder
entityId

string

Erforderlich. ID der Entität.

operation

enum (OperationType)

Erforderlich. Vorgang, der für die Entität ausgeführt werden soll.

Dauer

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

Vorzeichenbehaftete Sekunden des Zeitraums. Muss zwischen -315.576.000.000 und +315.576.000.000 (einschließlich) liegen. Hinweis: Diese Grenzen werden so berechnet: 60 Sek./Min. × 60 Min./Std. × 24 Std./Tag × 365,25 Tage/Jahr × 10.000 Jahre

nanos

integer

Signierte Sekundenbruchteile mit Nanosekunden-Auflösung des Zeitraums. Dauern von weniger als einer Sekunde werden mit dem Feld seconds = 0 und einem positiven oder negativen Feld nanos dargestellt. Bei Zeiträumen von einer Sekunde oder mehr muss ein Wert ungleich null für das Feld nanos dasselbe Vorzeichen wie das Feld seconds haben. Muss zwischen -999.999.999 und +999.999.999 liegen (einschließlich).

Zeitstempel

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss einschließlich zwischen -62135596800 und 253402300799 liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z).

nanos

integer

Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 liegen (einschließlich).

ToolFakeConfig

JSON-Darstellung
{
  "enableFakeMode": boolean,

  // Union field tool_response can be only one of the following:
  "codeBlock": {
    object (CodeBlock)
  }
  // End of list of possible types for union field tool_response.
}
Felder
enableFakeMode

boolean

Optional. Gibt an, ob das Tool den Fiktivmodus verwendet.

Union-Feld tool_response. Die Antwort ist entweder statisch oder wird von einer Python-Funktion bereitgestellt. Für tool_response ist nur einer der folgenden Werte zulässig:
codeBlock

object (CodeBlock)

Optional. Codeblock, der anstelle eines echten Tool-Aufrufs ausgeführt wird.

CodeBlock

JSON-Darstellung
{
  "pythonCode": string
}
Felder
pythonCode

string

Erforderlich. Python-Code, der im Tool-Fakemodus aufgerufen wird. Erwartete Python-Funktionssignatur: Um alle Tool-Aufrufe abzufangen: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Um einen bestimmten Tool-Aufruf abzufangen: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Wenn die Funktion „None“ zurückgibt, wird stattdessen das echte Tool aufgerufen.

FieldMask

JSON-Darstellung
{
  "paths": [
    string
  ]
}
Felder
paths[]

string

Die Menge der Feldmaskenpfade.

RequestLocation

Der Speicherort des API-Schlüssels in der Anfrage.

Enums
REQUEST_LOCATION_UNSPECIFIED Nicht angegeben. Dieser Wert sollte nicht verwendet werden.
HEADER Stellt den Schlüssel im HTTP-Header dar.
QUERY_STRING Stellt den Schlüssel im Abfragestring dar.

OauthGrantType

OAuth-Berechtigungstypen. Es wird nur die Gewährung von Clientanmeldedaten unterstützt.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Nicht angegeben. Die Standardeinstellung ist CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Stellt den Ablauf für Clientanmeldedaten dar.

Typ

OpenAPI-Datentypen.

Enums
TYPE_UNSPECIFIED Der Typ ist nicht angegeben.
STRING String-Typ.
INTEGER Ganzzahltyp.
NUMBER Numerischer Typ.
BOOLEAN Boolescher Typ.
OBJECT Objekttyp.
ARRAY Array-Typ.

NullValue

Stellt ein JSON-null dar.

NullValue ist ein Sentinel, der einen Enum mit nur einem Wert verwendet, um den Nullwert für die Typunion Value darzustellen.

Ein Feld vom Typ NullValue mit einem anderen Wert als 0 gilt als ungültig. Die meisten ProtoJSON-Serialisierungsprogramme geben ein Value mit einem als JSON-null festgelegten null_value aus, unabhängig vom Ganzzahlwert. Daher wird ein Roundtrip zu einem 0-Wert durchgeführt.

Enums
NULL_VALUE Nullwert.

OperationType

Der Vorgang, der für die Entität ausgeführt werden soll.

Enums
OPERATION_TYPE_UNSPECIFIED Vorgangstyp nicht angegeben. Ungültig. Das Erstellen/Aktualisieren von ConnectorTool schlägt fehl.
LIST Vorgang auflisten.
GET Vorgang abrufen
CREATE Vorgang erstellen
UPDATE Aktualisierungsvorgang.
DELETE Löschvorgang.

ExecutionType

Der Ausführungstyp des Tools oder Toolsets.

Enums
EXECUTION_TYPE_UNSPECIFIED Der Ausführungstyp ist nicht angegeben. Wenn kein Wert angegeben wird, gilt der Standardwert SYNCHRONOUS.
SYNCHRONOUS Das Tool wird synchron ausgeführt. Die Sitzung wird blockiert, bis das Tool zurückgegeben wird.
ASYNCHRONOUS Das Tool wird asynchron ausgeführt. Die Sitzung wird fortgesetzt, während das Tool ausgeführt wird.

Ausgabeschema

Ein Toolset stellt eine Gruppe von dynamisch verwalteten Tools dar, die vom Agent verwendet werden können.

Toolset

JSON-Darstellung
{
  "name": string,
  "displayName": string,
  "description": string,
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionType": enum (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
Felder
name

string

ID. Die eindeutige ID des Toolsets. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

Optional. Der Anzeigename des Toolsets. Muss innerhalb derselben App eindeutig sein.

description

string

Optional. Die Beschreibung des Toolsets.

timeout

string (Duration format)

Optional. Das Zeitlimit für die Toolset-Ausführung. Wenn nichts anderes festgelegt ist, beträgt das Standard-Zeitlimit 30 Sekunden für SYNCHRONOUS-Toolsets und 60 Sekunden für ASYNCHRONOUS-Toolsets.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „s“. Beispiel: "3.5s".

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel für die Erstellung des Toolsets.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel der letzten Aktualisierung des Toolsets.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

etag

string

ETag, das verwendet wird, um sicherzustellen, dass sich das Objekt während eines Read-Modify-Write-Vorgangs nicht geändert hat. Wenn das ETag leer ist, werden alle gleichzeitigen Änderungen durch das Update überschrieben.

executionType

enum (ExecutionType)

Optional. Der Ausführungstyp der Tools im Toolset.

toolFakeConfig

object (ToolFakeConfig)

Optional. Konfiguration für das Verhalten von Tools im Fälschungsmodus.

Union-Feld toolset_type. Der Typ des Toolsets. Für toolset_type ist nur einer der folgenden Werte zulässig:
mcpToolset

object (McpToolset)

Optional. Ein Toolset, das eine Liste der Tools enthält, die vom MCP-Server angeboten werden.

openApiToolset

object (OpenApiToolset)

Optional. Ein Toolset, das eine Liste von Tools enthält, die durch ein OpenAPI-Schema definiert werden.

connectorToolset

object (ConnectorToolset)

Optional. Eine Sammlung von Tools, die aus einer Integration Connectors-Verbindung generiert werden.

McpToolset

JSON-Darstellung
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
Felder
serverAddress

string

Erforderlich. Die Adresse des MCP-Servers, z. B. „https://beispiel.de/mcp/“. Wenn der Server mit dem MCP SDK erstellt wurde, sollte die URL mit „/mcp/“ enden. Es werden nur Streamable HTTP-Transport-basierte Server unterstützt. Weitere Informationen finden Sie unter https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http.

apiAuthentication

object (ApiAuthentication)

Optional. Authentifizierungsinformationen, die für den Zugriff auf Tools und die Ausführung eines Tools auf dem MCP-Server erforderlich sind. Bei der Bearer-Token-Authentifizierung gilt das Token nur für die Ausführung von Tools, nicht für die Auflistung von Tools. Dazu müssen Tools ohne Authentifizierung aufgeführt werden können.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Optional. Service Directory-Konfiguration für VPC-SC, die zum Auflösen von Dienstnamen innerhalb eines Perimeters verwendet wird.

tlsConfig

object (TlsConfig)

Optional. Die TLS-Konfiguration. Enthält die benutzerdefinierten Serverzertifikate, denen der Client vertrauen soll.

customHeaders

map (key: string, value: string)

Optional. Die benutzerdefinierten Header, die in der Anfrage an den MCP-Server gesendet werden sollen. Die Werte müssen das Format $context.variables.<name_of_variable> haben und können in den Sitzungsvariablen festgelegt werden. Weitere Informationen finden Sie unter https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

toolOverrides[]

object (McpToolOverride)

Optional. Überschreibungen für einzelne Tools in diesem Toolset. So können Sie bestimmte Details wie Beschreibungen oder Namen überschreiben oder den Status der Tools fixieren, damit er nicht vollständig dynamisch ist.

ApiAuthentication

JSON-Darstellung
{

  // Union field auth_config can be only one of the following:
  "apiKeyConfig": {
    object (ApiKeyConfig)
  },
  "oauthConfig": {
    object (OAuthConfig)
  },
  "serviceAgentIdTokenAuthConfig": {
    object (ServiceAgentIdTokenAuthConfig)
  },
  "serviceAccountAuthConfig": {
    object (ServiceAccountAuthConfig)
  },
  "bearerTokenConfig": {
    object (BearerTokenConfig)
  }
  // End of list of possible types for union field auth_config.
}
Felder
Union-Feld auth_config. Die Authentifizierungskonfiguration. Für auth_config ist nur einer der folgenden Werte zulässig:
apiKeyConfig

object (ApiKeyConfig)

Optional. Konfiguration für die API-Schlüsselauthentifizierung.

oauthConfig

object (OAuthConfig)

Optional. Konfiguration für OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Optional. Konfiguration für die ID-Token-Authentifizierung, die vom CES-Dienst-Agent generiert wurde.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Optional. Konfiguration für die Dienstkontoauthentifizierung.

bearerTokenConfig

object (BearerTokenConfig)

Optional. Konfiguration für die Inhabertoken-Authentifizierung.

ApiKeyConfig

JSON-Darstellung
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Felder
keyName

string

Erforderlich. Der Parametername oder der Headername des API-Schlüssels. Beispiel: Wenn die API-Anfrage „https://example.com/act?X-Api-Key=“ lautet, ist „X-Api-Key“ der Parametername.

apiKeySecretVersion

string

Erforderlich. Der Name der Secret-Versionsressource des Secret Manager, in der der API-Schlüssel gespeichert ist. Format: projects/{project}/secrets/{secret}/versions/{version}

Hinweis: Sie sollten dem CES-Dienst-Agenten service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com die Rolle roles/secretmanager.secretAccessor zuweisen.

requestLocation

enum (RequestLocation)

Erforderlich. Schlüsselposition in der Anfrage.

OAuthConfig

JSON-Darstellung
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Felder
oauthGrantType

enum (OauthGrantType)

Erforderlich. OAuth-Berechtigungstypen.

clientId

string

Erforderlich. Die Client-ID des OAuth-Anbieters.

clientSecretVersion

string

Erforderlich. Der Name der SecretManager-Secret-Versionsressource, in der der Clientschlüssel gespeichert ist. Format: projects/{project}/secrets/{secret}/versions/{version}

Hinweis: Sie sollten dem CES-Dienst-Agenten service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com die Rolle roles/secretmanager.secretAccessor zuweisen.

tokenEndpoint

string

Erforderlich. Der Token-Endpunkt im OAuth-Anbieter, der gegen ein Zugriffstoken getauscht werden soll.

scopes[]

string

Optional. Die zu gewährenden OAuth-Bereiche.

ServiceAccountAuthConfig

JSON-Darstellung
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Felder
serviceAccount

string

Erforderlich. Die E‑Mail-Adresse des für die Authentifizierung verwendeten Dienstkontos. CES verwendet dieses Dienstkonto, um ein Zugriffstoken auszutauschen. Das Zugriffstoken wird dann im Authorization-Header der Anfrage gesendet.

Dem Dienstkonto muss die Rolle roles/iam.serviceAccountTokenCreator für den CES-Dienst-Agenten service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com zugewiesen sein.

scopes[]

string

Optional. Die zu gewährenden OAuth-Bereiche. Wenn nichts angegeben ist, wird der Standardbereich https://www.googleapis.com/auth/cloud-platform verwendet.

BearerTokenConfig

JSON-Darstellung
{
  "token": string
}
Felder
token

string

Erforderlich. Das Inhabertoken. Muss das Format $context.variables.<name_of_variable> aufweisen.

ServiceDirectoryConfig

JSON-Darstellung
{
  "service": string
}
Felder
service

string

Erforderlich. Der Name des Service Directory-Dienstes. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. Der Speicherort des Dienstverzeichnisses muss mit dem Speicherort der App übereinstimmen.

TlsConfig

JSON-Darstellung
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Felder
caCerts[]

object (CaCert)

Erforderlich. Gibt eine Liste der zulässigen benutzerdefinierten CA-Zertifikate für die HTTPS-Überprüfung an.

CaCert

JSON-Darstellung
{
  "displayName": string,
  "cert": string
}
Felder
displayName

string

Erforderlich. Der Name der zulässigen benutzerdefinierten CA-Zertifikate. Damit können die benutzerdefinierten CA-Zertifikate eindeutig identifiziert werden.

cert

string (bytes format)

Erforderlich. Die zulässigen benutzerdefinierten CA-Zertifikate (im DER-Format) für die HTTPS-Überprüfung. Dadurch wird der Standard-SSL-Trust-Anchor überschrieben. Wenn dieses Feld leer oder nicht angegeben ist, verwendet CES den Standard-Trust Store von Google, um Zertifikate zu prüfen. Hinweis: Die HTTPS-Serverzertifikate müssen mit „subject alt name“ signiert sein. Ein Zertifikat kann beispielsweise mit dem folgenden Befehl selbst signiert werden:

   openssl x509 -req -days 200 -in example.com.csr \
     -signkey example.com.key \
     -out example.com.crt \
     -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

Ein base64-codierter String.

CustomHeadersEntry

JSON-Darstellung
{
  "key": string,
  "value": string
}
Felder
key

string

value

string

McpToolOverride

JSON-Darstellung
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
Felder
tool

string

Erforderlich. Der ursprüngliche Name des Tools, wie er vom MCP-Server ausgegeben wird.

nameOverride

string

Optional. Wenn dieser Name vorhanden ist, wird er vom Tool im Agent anstelle des ursprünglichen Namens verwendet. Dies wird hauptsächlich als Alias verwendet, wenn der MCP-Server schlecht benannte Tools anbietet.

descriptionOverride

string

Optional. Falls vorhanden, wird diese Beschreibung anstelle der ursprünglichen Beschreibung vom Server verwendet.

snapshot

object (McpToolDefinition)

Nur Ausgabe. Wenn das Tool vorhanden ist, wird es angepinnt und verwendet die Snapshot-Werte als Fallback, wenn der Server vorübergehend nicht verfügbar ist oder keine Überschreibung vorhanden ist.

McpToolDefinition

JSON-Darstellung
{
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  }
}
Felder
description

string

Nur Ausgabe. Die Beschreibung des MCP-Tools. Dies kann durch description_override in McpToolOverride überschrieben werden.

inputSchema

object (Schema)

Nur Ausgabe. Das Schema der Eingabeargumente des MCP-Tools.

outputSchema

object (Schema)

Nur Ausgabe. Das Schema der Ausgabeargumente des MCP-Tools.

Schema

JSON-Darstellung
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
Felder
type

enum (Type)

Erforderlich. Der Typ der Daten.

properties

map (key: string, value: object (Schema))

Optional. Attribute von Type.OBJECT.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Optional. Erforderliche Eigenschaften von Type.OBJECT.

description

string

Optional. Die Beschreibung der Daten.

items

object (Schema)

Optional. Schema der Elemente von Type.ARRAY.

nullable

boolean

Optional. Gibt an, ob der Wert null sein darf.

uniqueItems

boolean

Optional. Geben Sie an, dass die Elemente im Array eindeutig sein müssen. Gilt nur für TYPE.ARRAY.

prefixItems[]

object (Schema)

Optional. Schemas der ersten Elemente von Type.ARRAY.

additionalProperties

object (Schema)

Optional. Kann entweder ein boolescher Wert oder ein Objekt sein. Steuert das Vorhandensein zusätzlicher Attribute.

anyOf[]

object (Schema)

Optional. Der Wert sollte anhand eines oder mehrerer der Unterschemas in der Liste validiert werden.

enum[]

string

Optional. Mögliche Werte des Elements des einfachen Typs im enum-Format. Beispiele: 1. Wir können die Richtung so definieren : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Wir können die Wohnungsnummer so definieren : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Optional. Standardwert der Daten.

ref

string

Optional. Ermöglicht indirekte Verweise zwischen Schemaknoten. Der Wert sollte ein gültiger Verweis auf ein untergeordnetes Element des Stamm-defs sein.

Das folgende Schema definiert beispielsweise eine Referenz auf einen Schemaknoten mit dem Namen „Pet“:

type: object
properties:
  pet:
    ref: #/defs/Pet
defs:
  Pet:
    type: object
    properties:
      name:
        type: string

Der Wert der Property „pet“ ist ein Verweis auf den Schemaknoten mit dem Namen „Pet“. Weitere Informationen finden Sie unter https://json-schema.org/understanding-json-schema/structuring.

defs

map (key: string, value: object (Schema))

Optional. Eine Karte mit Definitionen zur Verwendung durch ref. Nur im Stammverzeichnis des Schemas zulässig.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Optional. Der Titel des Schemas.

minItems

string (int64 format)

Optional. Mindestanzahl der Elemente für Type.ARRAY.

maxItems

string (int64 format)

Optional. Maximale Anzahl der Elemente für Type.ARRAY.

Union-Feld _minimum.

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

minimum

number

Optional. Mindestwert für Type.INTEGER und Type.NUMBER.

Union-Feld _maximum.

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

maximum

number

Optional. Maximaler Wert für Type.INTEGER und Type.NUMBER.

PropertiesEntry

JSON-Darstellung
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Felder
key

string

value

object (Schema)

Wert

JSON-Darstellung
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Felder
Union-Feld kind. Die Art des Werts. Für kind ist nur einer der folgenden Werte zulässig:
nullValue

null

Stellt ein JSON-null dar.

numberValue

number

Stellt eine JSON-Zahl dar. Darf nicht NaN, Infinity oder -Infinity sein, da diese in JSON nicht unterstützt werden. Auch große Int64-Werte können nicht dargestellt werden, da das JSON-Format sie in seinem Zahlentyp generell nicht unterstützt.

stringValue

string

Stellt einen JSON-String dar.

boolValue

boolean

Stellt einen booleschen JSON-Wert dar (true- oder false-Literal in JSON).

structValue

object (Struct format)

Stellt ein JSON-Objekt dar.

listValue

array (ListValue format)

Stellt ein JSON-Array dar.

Struct

JSON-Darstellung
{
  "fields": {
    string: value,
    ...
  }
}
Felder
fields

map (key: string, value: value (Value format))

Ungeordnete Zuordnung von dynamisch typisierten Werten.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

JSON-Darstellung
{
  "key": string,
  "value": value
}
Felder
key

string

value

value (Value format)

ListValue

JSON-Darstellung
{
  "values": [
    value
  ]
}
Felder
values[]

value (Value format)

Wiederkehrendes Feld mit dynamisch typisierten Werten.

DefsEntry

JSON-Darstellung
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Felder
key

string

value

object (Schema)

OpenApiToolset

JSON-Darstellung
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Felder
openApiSchema

string

Erforderlich. Das OpenAPI-Schema des Toolsets.

apiAuthentication

object (ApiAuthentication)

Optional. Von der API benötigte Authentifizierungsinformationen.

tlsConfig

object (TlsConfig)

Optional. Die TLS-Konfiguration. Benutzerdefinierte Serverzertifikate sind enthalten

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Optional. Service Directory-Konfiguration.

ignoreUnknownFields

boolean

Optional. Bei „true“ ignoriert der Agent unbekannte Felder in der API-Antwort für alle im OpenAPI-Schema definierten Vorgänge.

url

string

Optional. Die Server-URL des Open API-Schemas. Dieses Feld wird nur in Toolsets in den Umgebungsabhängigkeiten während des Exportvorgangs festgelegt, wenn das Schema eine Server-URL enthält. Wenn diese URL während des Importvorgangs in den Umgebungsabhängigkeiten vorhanden ist und das Schema den Platzhalter $env_var enthält, wird der Platzhalter im Schema ersetzt.

ConnectorToolset

JSON-Darstellung
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
Felder
connection

string

Erforderlich. Der vollständige Ressourcenname der referenzierten Integration Connectors-Verbindung. Format: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

Optional. Konfiguriert, wie die Authentifizierung in Integration Connectors gehandhabt wird. Standardmäßig wird eine Administratorauthentifizierung in den Integration Connectors API-Anfragen übergeben. Sie können sie mit einer anderen Konfiguration für die Endnutzerauthentifizierung überschreiben. Hinweis: Für die Verbindung muss die Authentifizierungsüberschreibung aktiviert sein, damit Sie hier eine EUC-Konfiguration angeben können. Andernfalls schlägt die Erstellung des Toolsets fehl. Weitere Informationen finden Sie unter https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override.

connectorActions[]

object (Action)

Erforderlich. Die Liste der Connector-Aktionen/Entitätsvorgänge, für die Tools generiert werden sollen.

EndUserAuthConfig

JSON-Darstellung
{

  // Union field auth_config can be only one of the following:
  "oauth2AuthCodeConfig": {
    object (Oauth2AuthCodeConfig)
  },
  "oauth2JwtBearerConfig": {
    object (Oauth2JwtBearerConfig)
  }
  // End of list of possible types for union field auth_config.
}
Felder
Union-Feld auth_config. Die Authentifizierungskonfiguration. Für auth_config ist nur einer der folgenden Werte zulässig:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Oauth 2.0-Authentifizierung mit Autorisierungscode.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Authentifizierung mit OAuth 2.0-Berechtigungstyp zur Autorisierung mit JWT-Profil.

Oauth2AuthCodeConfig

JSON-Darstellung
{
  "oauthToken": string
}
Felder
oauthToken

string

Erforderlich. Name des OAuth-Tokenparameters, der übergeben werden soll. Muss das Format $context.variables.<name_of_variable> aufweisen.

Oauth2JwtBearerConfig

JSON-Darstellung
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Felder
issuer

string

Erforderlich. Name des Ausstellerparameters, der übergeben werden soll. Muss das Format $context.variables.<name_of_variable> aufweisen.

subject

string

Erforderlich. Name des Inhaberparameters, der weitergegeben werden soll. Muss das Format $context.variables.<name_of_variable> aufweisen.

clientKey

string

Erforderlich. Name des Clientparameters, der übergeben werden soll. Muss das Format $context.variables.<name_of_variable> aufweisen.

Aktion

JSON-Darstellung
{
  "inputFields": [
    string
  ],
  "outputFields": [
    string
  ],

  // Union field action_spec can be only one of the following:
  "connectionActionId": string,
  "entityOperation": {
    object (EntityOperation)
  }
  // End of list of possible types for union field action_spec.
}
Felder
inputFields[]

string

Optional. Entitätsfelder, die als Eingaben für den Vorgang verwendet werden sollen. Wenn keine Felder angegeben sind, werden alle Felder der Entität verwendet.

outputFields[]

string

Optional. Die Entitätsfelder, die vom Vorgang zurückgegeben werden sollen. Wenn keine Felder angegeben sind, werden alle Felder der Entität zurückgegeben.

Union-Feld action_spec. Spezifikation für eine Aktion, die für das zu verwendende Tool konfiguriert werden soll. Für action_spec ist nur einer der folgenden Werte zulässig:
connectionActionId

string

ID einer Verbindungsaktion für das zu verwendende Tool.

entityOperation

object (EntityOperation)

Konfiguration für den Entitätsvorgang, die vom Tool verwendet werden soll.

EntityOperation

JSON-Darstellung
{
  "entityId": string,
  "operation": enum (OperationType)
}
Felder
entityId

string

Erforderlich. ID der Entität.

operation

enum (OperationType)

Erforderlich. Vorgang, der für die Entität ausgeführt werden soll.

Dauer

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

Vorzeichenbehaftete Sekunden des Zeitraums. Muss zwischen -315.576.000.000 und +315.576.000.000 (einschließlich) liegen. Hinweis: Diese Grenzen werden so berechnet: 60 Sek./Min. × 60 Min./Std. × 24 Std./Tag × 365,25 Tage/Jahr × 10.000 Jahre

nanos

integer

Signierte Sekundenbruchteile mit Nanosekunden-Auflösung des Zeitraums. Dauern von weniger als einer Sekunde werden mit dem Feld seconds = 0 und einem positiven oder negativen Feld nanos dargestellt. Bei Zeiträumen von einer Sekunde oder mehr muss ein Wert ungleich null für das Feld nanos dasselbe Vorzeichen wie das Feld seconds haben. Muss zwischen -999.999.999 und +999.999.999 liegen (einschließlich).

Zeitstempel

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss einschließlich zwischen -62135596800 und 253402300799 liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z).

nanos

integer

Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 liegen (einschließlich).

ToolFakeConfig

JSON-Darstellung
{
  "enableFakeMode": boolean,

  // Union field tool_response can be only one of the following:
  "codeBlock": {
    object (CodeBlock)
  }
  // End of list of possible types for union field tool_response.
}
Felder
enableFakeMode

boolean

Optional. Gibt an, ob das Tool den Fiktivmodus verwendet.

Union-Feld tool_response. Die Antwort ist entweder statisch oder wird von einer Python-Funktion bereitgestellt. Für tool_response ist nur einer der folgenden Werte zulässig:
codeBlock

object (CodeBlock)

Optional. Codeblock, der anstelle eines echten Tool-Aufrufs ausgeführt wird.

CodeBlock

JSON-Darstellung
{
  "pythonCode": string
}
Felder
pythonCode

string

Erforderlich. Python-Code, der im Tool-Fakemodus aufgerufen wird. Erwartete Python-Funktionssignatur: Um alle Tool-Aufrufe abzufangen: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Um einen bestimmten Tool-Aufruf abzufangen: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Wenn die Funktion „None“ zurückgibt, wird stattdessen das echte Tool aufgerufen.

RequestLocation

Der Speicherort des API-Schlüssels in der Anfrage.

Enums
REQUEST_LOCATION_UNSPECIFIED Nicht angegeben. Dieser Wert sollte nicht verwendet werden.
HEADER Stellt den Schlüssel im HTTP-Header dar.
QUERY_STRING Stellt den Schlüssel im Abfragestring dar.

OauthGrantType

OAuth-Berechtigungstypen. Es wird nur die Gewährung von Clientanmeldedaten unterstützt.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Nicht angegeben. Die Standardeinstellung ist CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Stellt den Ablauf für Clientanmeldedaten dar.

Typ

OpenAPI-Datentypen.

Enums
TYPE_UNSPECIFIED Der Typ ist nicht angegeben.
STRING String-Typ.
INTEGER Ganzzahltyp.
NUMBER Numerischer Typ.
BOOLEAN Boolescher Typ.
OBJECT Objekttyp.
ARRAY Array-Typ.

NullValue

Stellt ein JSON-null dar.

NullValue ist ein Sentinel, der einen Enum mit nur einem Wert verwendet, um den Nullwert für die Typunion Value darzustellen.

Ein Feld vom Typ NullValue mit einem anderen Wert als 0 gilt als ungültig. Die meisten ProtoJSON-Serialisierungsprogramme geben ein Value mit einem als JSON-null festgelegten null_value aus, unabhängig vom Ganzzahlwert. Daher wird ein Roundtrip zu einem 0-Wert durchgeführt.

Enums
NULL_VALUE Nullwert.

OperationType

Der Vorgang, der für die Entität ausgeführt werden soll.

Enums
OPERATION_TYPE_UNSPECIFIED Vorgangstyp nicht angegeben. Ungültig. Das Erstellen/Aktualisieren von ConnectorTool schlägt fehl.
LIST Vorgang auflisten.
GET Vorgang abrufen
CREATE Vorgang erstellen
UPDATE Aktualisierungsvorgang.
DELETE Löschvorgang.

ExecutionType

Der Ausführungstyp des Tools oder Toolsets.

Enums
EXECUTION_TYPE_UNSPECIFIED Der Ausführungstyp ist nicht angegeben. Wenn kein Wert angegeben wird, gilt der Standardwert SYNCHRONOUS.
SYNCHRONOUS Das Tool wird synchron ausgeführt. Die Sitzung wird blockiert, bis das Tool zurückgegeben wird.
ASYNCHRONOUS Das Tool wird asynchron ausgeführt. Die Sitzung wird fortgesetzt, während das Tool ausgeführt wird.

Tool-Annotationen

Destruktiver Hinweis: ✅ | Idempotenter Hinweis: ❌ | Hinweis „Nur lesen“: ❌ | Hinweis „Offene Welt“: ❌