MCP Tools Reference: ces.googleapis.com

Outil : create_tool

Crée un outil dans l'application donnée.

L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP create_tool.

Requête curl
                  
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": "create_tool",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Schéma d'entrée

Message de requête pour AgentService.CreateTool.

CreateToolRequest

Représentation JSON
{
  "parent": string,
  "toolId": string,
  "tool": {
    object (Tool)
  }
}
Champs
parent

string

Obligatoire. Nom de ressource de l'application dans laquelle créer un outil.

toolId

string

Facultatif. ID à utiliser pour l'outil, qui constituera le composant final du nom de ressource de l'outil. Si aucun ID n'est fourni, un ID unique est automatiquement attribué à l'outil.

tool

object (Tool)

Obligatoire. Outil à créer.

Outil

Représentation JSON
{
  "name": string,
  "displayName": string,
  "executionType": enum (ExecutionType),
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "generatedSummary": string,
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field tool_type can be only one of the following:
  "clientFunction": {
    object (ClientFunction)
  },
  "openApiTool": {
    object (OpenApiTool)
  },
  "googleSearchTool": {
    object (GoogleSearchTool)
  },
  "connectorTool": {
    object (ConnectorTool)
  },
  "dataStoreTool": {
    object (DataStoreTool)
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mcpTool": {
    object (McpTool)
  },
  "fileSearchTool": {
    object (FileSearchTool)
  },
  "systemTool": {
    object (SystemTool)
  },
  "agentTool": {
    object (AgentTool)
  },
  "widgetTool": {
    object (WidgetTool)
  },
  "remoteAgentTool": {
    object (RemoteAgentTool)
  }
  // End of list of possible types for union field tool_type.
}
Champs
name

string

Identifiant. Nom de ressource de l'outil. Format :

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} pour les outils autonomes.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} pour les outils récupérés à partir d'un ensemble d'outils.

Ces outils sont dynamiques et en sortie uniquement. Ils ne peuvent pas être référencés directement lorsqu'un outil est attendu.

displayName

string

Uniquement en sortie. Nom à afficher de l'outil, basé sur son type. Par exemple, le nom à afficher d'une [ClientFunction][Tool.ClientFunction] est dérivé de sa propriété name.

executionType

enum (ExecutionType)

Facultatif. Type d'exécution de l'outil.

timeout

string (Duration format)

Facultatif. Délai d'exécution de l'outil. Si ce paramètre n'est pas défini, le délai d'inactivité par défaut est de 30 secondes pour les outils SYNCHRONOUS et de 60 secondes pour les outils ASYNCHRONOUS.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la création de l'outil.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la dernière mise à jour de l'outil.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

etag

string

Etag utilisé pour s'assurer que l'objet n'a pas été modifié lors d'une opération de lecture/modification/écriture. Si l'etag est vide, la mise à jour écrasera toutes les modifications simultanées.

generatedSummary

string

Uniquement en sortie. Si l'outil est généré par l'assistant LLM, ce champ contient un résumé descriptif de la génération.

toolFakeConfig

object (ToolFakeConfig)

Facultatif. Configuration du comportement de l'outil en mode factice.

Champ d'union tool_type. Type d'outil. tool_type ne peut être qu'un des éléments suivants :
clientFunction

object (ClientFunction)

Facultatif. Fonction client.

openApiTool

object (OpenApiTool)

Facultatif. Outil d'API ouverte.

googleSearchTool

object (GoogleSearchTool)

Facultatif. Outil de recherche Google.

connectorTool

object (ConnectorTool)

Facultatif. L'outil Integration Connectors.

dataStoreTool

object (DataStoreTool)

Facultatif. Outil de data store.

pythonFunction

object (PythonFunction)

Facultatif. Outil de fonction Python.

mcpTool

object (McpTool)

Facultatif. L'outil MCP. Il n'est pas possible de créer ni de modifier directement un outil MCP, car il est géré par l'ensemble d'outils MCP.

fileSearchTool

object (FileSearchTool)

Facultatif. Outil de recherche de fichiers.

systemTool

object (SystemTool)

Facultatif. L'outil système.

agentTool

object (AgentTool)

Facultatif. Outil d'agent.

widgetTool

object (WidgetTool)

Facultatif. L'outil Widget.

remoteAgentTool

object (RemoteAgentTool)

Facultatif. L'outil d'agent distant.

ClientFunction

Représentation JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Champs
name

string

Obligatoire. Nom de la fonction.

description

string

Facultatif. Description de la fonction.

parameters

object (Schema)

Facultatif. Schéma des paramètres de la fonction.

response

object (Schema)

Facultatif. Schéma de la réponse de la fonction.

Schéma

Représentation JSON
{
  "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.
}
Champs
type

enum (Type)

Obligatoire. Type des données.

properties

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

Facultatif. Propriétés de Type.OBJECT.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Facultatif. Propriétés requises de Type.OBJECT.

description

string

Facultatif. Description des données.

items

object (Schema)

Facultatif. Schéma des éléments de Type.ARRAY.

nullable

boolean

Facultatif. Indique si la valeur peut être nulle.

uniqueItems

boolean

Facultatif. Indique que les éléments du tableau doivent être uniques. Ne s'applique qu'à TYPE.ARRAY.

prefixItems[]

object (Schema)

Facultatif. Schémas des éléments initiaux de Type.ARRAY.

additionalProperties

object (Schema)

Facultatif. Peut être une valeur booléenne ou un objet. Contrôle la présence de propriétés supplémentaires.

anyOf[]

object (Schema)

Facultatif. La valeur doit être validée par rapport à l'un ou plusieurs des sous-schémas de la liste.

enum[]

string

Facultatif. Valeurs possibles de l'élément de type primitif avec le format enum. Exemples : 1. Nous pouvons définir la direction comme suit : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Nous pouvons définir le numéro d'appartement comme suit : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Facultatif. Valeur par défaut des données.

ref

string

Facultatif. Permet les références indirectes entre les nœuds de schéma. La valeur doit être une référence valide à un enfant de la racine defs.

Par exemple, le schéma suivant définit une référence à un nœud de schéma nommé "Pet" :

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

La valeur de la propriété "pet" est une référence au nœud de schéma nommé "Pet". Pour en savoir plus, consultez https://json-schema.org/understanding-json-schema/structuring.

defs

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

Facultatif. Carte des définitions à utiliser par ref. Uniquement autorisé à la racine du schéma.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Facultatif. Titre du schéma.

minItems

string (int64 format)

Facultatif. Nombre minimal d'éléments pour Type.ARRAY.

maxItems

string (int64 format)

Facultatif. Nombre maximal d'éléments pour Type.ARRAY.

Champ d'union _minimum.

_minimum ne peut être qu'un des éléments suivants :

minimum

number

Facultatif. Valeur minimale pour Type.INTEGER et Type.NUMBER.

Champ d'union _maximum.

_maximum ne peut être qu'un des éléments suivants :

maximum

number

Facultatif. Valeur maximale pour Type.INTEGER et Type.NUMBER.

PropertiesEntry

Représentation JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Champs
key

string

value

object (Schema)

Valeur

Représentation JSON
{

  // 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.
}
Champs
Champ d'union kind. Type de valeur. kind ne peut être qu'un des éléments suivants :
nullValue

null

Représente un null JSON.

numberValue

number

Représente un nombre JSON. Ne doit pas être NaN, Infinity ni -Infinity, car ces valeurs ne sont pas acceptées dans JSON. Il ne peut pas non plus représenter de grandes valeurs Int64, car le format JSON ne les accepte généralement pas dans son type numérique.

stringValue

string

Représente une chaîne JSON.

boolValue

boolean

Représente une valeur booléenne JSON (littéral true ou false en JSON).

structValue

object (Struct format)

Représente un objet JSON.

listValue

array (ListValue format)

Représente un tableau JSON.

Struct

Représentation JSON
{
  "fields": {
    string: value,
    ...
  }
}
Champs
fields

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

Carte non ordonnée de valeurs typées de manière dynamique.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Représentation JSON
{
  "key": string,
  "value": value
}
Champs
key

string

value

value (Value format)

ListValue

Représentation JSON
{
  "values": [
    value
  ]
}
Champs
values[]

value (Value format)

Champ répété de valeurs typées de manière dynamique.

DefsEntry

Représentation JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Champs
key

string

value

object (Schema)

OpenApiTool

Représentation JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Champs
openApiSchema

string

Obligatoire. Schéma OpenAPI au format JSON ou YAML.

name

string

Facultatif. Nom de l'outil. S'il n'est pas fourni, le nom de l'outil sera dérivé du schéma OpenAPI, à partir de operation.operationId.

description

string

Facultatif. Description de l'outil. Si aucune description n'est fournie, elle sera dérivée du schéma OpenAPI, de operation.description ou de operation.summary.

apiAuthentication

object (ApiAuthentication)

Facultatif. Informations d'authentification requises par l'API.

tlsConfig

object (TlsConfig)

Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés auxquels le client fera confiance.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facultatif. Configuration de l'annuaire des services.

ignoreUnknownFields

boolean

Facultatif. Si la valeur est "true", l'agent ignore les champs inconnus dans la réponse de l'API.

url

string

Facultatif. URL du serveur du schéma Open API. Ce champ n'est défini dans les outils des dépendances d'environnement lors du processus d'exportation que si le schéma contient une URL de serveur. Lors du processus d'importation, si cette URL est présente dans les dépendances de l'environnement et que le schéma comporte l'espace réservé $env_var, elle remplacera l'espace réservé dans le schéma.

ApiAuthentication

Représentation JSON
{

  // 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.
}
Champs
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants :
apiKeyConfig

object (ApiKeyConfig)

Facultatif. Configuration pour l'authentification par clé API.

oauthConfig

object (OAuthConfig)

Facultatif. Configuration pour OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Facultatif. Configuration pour l'authentification par jeton d'identification générée à partir de l'agent de service CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Facultatif. Configuration pour l'authentification du compte de service.

bearerTokenConfig

object (BearerTokenConfig)

Facultatif. Configuration pour l'authentification par jeton du porteur.

ApiKeyConfig

Représentation JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Champs
keyName

string

Obligatoire. Nom du paramètre ou de l'en-tête de la clé API. Exemple : Si la requête API est "https://example.com/act?X-Api-Key=", "X-Api-Key" est le nom du paramètre.

apiKeySecretVersion

string

Obligatoire. Nom de la ressource de version secrète Secret Manager stockant la clé API. Format : projects/{project}/secrets/{secret}/versions/{version}

Remarque : Vous devez attribuer le rôle roles/secretmanager.secretAccessor à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Obligatoire. Emplacement de la clé dans la requête.

OAuthConfig

Représentation JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Champs
oauthGrantType

enum (OauthGrantType)

Obligatoire. Types d'attribution OAuth.

clientId

string

Obligatoire. ID client du fournisseur OAuth.

clientSecretVersion

string

Obligatoire. Nom de la ressource de version du secret Secret Manager stockant le code secret du client. Format : projects/{project}/secrets/{secret}/versions/{version}

Remarque : Vous devez attribuer le rôle roles/secretmanager.secretAccessor à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obligatoire. Point de terminaison du jeton dans le fournisseur OAuth pour l'échange d'un jeton d'accès.

scopes[]

string

Facultatif. Champs d'application OAuth à accorder.

ServiceAccountAuthConfig

Représentation JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Champs
serviceAccount

string

Obligatoire. Adresse e-mail du compte de service utilisé pour l'authentification. CES utilise ce compte de service pour échanger un jeton d'accès, qui est ensuite envoyé dans l'en-tête Authorization de la requête.

Le compte de service doit disposer du rôle roles/iam.serviceAccountTokenCreator attribué à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Facultatif. Champs d'application OAuth à accorder. Si aucune valeur n'est spécifiée, le champ d'application par défaut https://www.googleapis.com/auth/cloud-platform est utilisé.

BearerTokenConfig

Représentation JSON
{
  "token": string
}
Champs
token

string

Obligatoire. Jeton de support. Il doit respecter le format $context.variables.<name_of_variable>.

TlsConfig

Représentation JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Champs
caCerts[]

object (CaCert)

Obligatoire. Indique une liste de certificats CA personnalisés autorisés pour la validation HTTPS.

CaCert

Représentation JSON
{
  "displayName": string,
  "cert": string
}
Champs
displayName

string

Obligatoire. Nom des certificats CA personnalisés autorisés. Cela permet de lever toute ambiguïté concernant les certificats d'autorité de certification personnalisés.

cert

string (bytes format)

Obligatoire. Certificats CA personnalisés autorisés (au format DER) pour la validation HTTPS. Cela remplace le magasin de confiance SSL par défaut. Si ce champ est vide ou n'est pas spécifié, CES utilisera le magasin de confiance par défaut de Google pour valider les certificats. Remarque : Assurez-vous que les certificats de serveur HTTPS sont signés avec "subject alt name". Par exemple, un certificat peut être autosigné à l'aide de la commande suivante :

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

Chaîne encodée en base64.

ServiceDirectoryConfig

Représentation JSON
{
  "service": string
}
Champs
service

string

Obligatoire. Nom du service Annuaire des services. Format : projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. L'emplacement de l'annuaire des services doit être identique à celui de l'application.

GoogleSearchTool

Représentation JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
Champs
name

string

Obligatoire. Nom de l'outil.

description

string

Facultatif. Description de l'objectif de l'outil.

contextUrls[]

string

Facultatif. Le contenu sera récupéré directement à partir de ces URL pour le contexte et l'ancrage. Exemple : "https://example.com/path.html". Vous ne pouvez pas inclure plus de 20 URL.

preferredDomains[]

string

Facultatif. Spécifie les domaines auxquels limiter les résultats de recherche. Exemple : "example.com", "another.site". Vous pouvez spécifier jusqu'à 20 domaines.

excludeDomains[]

string

Facultatif. Liste des domaines à exclure des résultats de recherche. Exemple : "example.com". Vous ne pouvez pas exclure plus de 2 000 domaines.

promptConfig

object (PromptConfig)

Facultatif. Instructions d'invite transmises au planificateur sur la façon dont les résultats de recherche doivent être traités pour le texte et la voix.

PromptConfig

Représentation JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Champs
textPrompt

string

Facultatif. Définit la requête utilisée pour les instructions système lors des interactions avec l'agent dans les conversations par chat. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée.

voicePrompt

string

Facultatif. Définit la requête utilisée pour les instructions système lors des interactions avec l'agent dans les conversations vocales. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée.

ConnectorTool

Représentation JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Champs
connection

string

Obligatoire. Nom complet de la ressource de la connexion Integration Connectors référencée. Format : projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Obligatoire. Action à utiliser pour l'outil.

authConfig

object (EndUserAuthConfig)

Facultatif. Configure la façon dont l'authentification est gérée dans Integration Connectors. Par défaut, une authentification d'administrateur est transmise dans les requêtes de l'API Integration Connectors. Vous pouvez la remplacer par une autre configuration d'authentification de l'utilisateur final. Remarque : La substitution de l'authentification doit être activée pour la connexion afin de pouvoir spécifier une configuration EUC ici. Sinon, la création de ConnectorTool échouera. Pour en savoir plus, consultez https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override.

name

string

Facultatif. Nom de l'outil que l'agent peut utiliser pour déterminer s'il doit appeler ConnectorTool.

description

string

Facultatif. Description de l'outil que l'agent peut utiliser pour déterminer s'il doit appeler ConnectorTool.

Action

Représentation JSON
{
  "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.
}
Champs
inputFields[]

string

Facultatif. Champs d'entité à utiliser comme entrées pour l'opération. Si aucun champ n'est spécifié, tous les champs de l'entité seront utilisés.

outputFields[]

string

Facultatif. Champs d'entité à renvoyer à partir de l'opération. Si aucun champ n'est spécifié, tous les champs de l'entité sont renvoyés.

Champ d'union action_spec. Spécification d'une action à configurer pour que l'outil l'utilise. action_spec ne peut être qu'un des éléments suivants :
connectionActionId

string

ID d'une action de connexion que l'outil doit utiliser.

entityOperation

object (EntityOperation)

Configuration de l'opération d'entité à utiliser par l'outil.

EntityOperation

Représentation JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Champs
entityId

string

Obligatoire. ID de l'entité.

operation

enum (OperationType)

Obligatoire. Opération à effectuer sur l'entité.

EndUserAuthConfig

Représentation JSON
{

  // 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.
}
Champs
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants :
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Authentification par code d'autorisation OAuth 2.0.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Authentification par attribution d'autorisation OAuth 2.0 avec profil JWT.

Oauth2AuthCodeConfig

Représentation JSON
{
  "oauthToken": string
}
Champs
oauthToken

string

Obligatoire. Nom du paramètre de jeton OAuth à transmettre. Il doit respecter le format $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Représentation JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Champs
issuer

string

Obligatoire. Nom du paramètre de l'émetteur à transmettre. Il doit respecter le format $context.variables.<name_of_variable>.

subject

string

Obligatoire. Nom du paramètre d'objet à transmettre. Il doit respecter le format $context.variables.<name_of_variable>.

clientKey

string

Obligatoire. Nom du paramètre client à transmettre. Il doit respecter le format $context.variables.<name_of_variable>.

DataStoreTool

Représentation JSON
{
  "name": string,
  "description": string,
  "boostSpecs": [
    {
      object (BoostSpecs)
    }
  ],
  "modalityConfigs": [
    {
      object (ModalityConfig)
    }
  ],
  "filterParameterBehavior": enum (FilterParameterBehavior),

  // Union field search_source can be only one of the following:
  "dataStoreSource": {
    object (DataStoreSource)
  },
  "engineSource": {
    object (EngineSource)
  }
  // End of list of possible types for union field search_source.
}
Champs
name

string

Obligatoire. Nom de l'outil data store.

description

string

Facultatif. Description de l'outil.

boostSpecs[]

object (BoostSpecs)

Facultatif. Booster les spécifications pour mettre en avant certains documents.

modalityConfigs[]

object (ModalityConfig)

Facultatif. Configurations de modalités pour le data store.

filterParameterBehavior

enum (FilterParameterBehavior)

Facultatif. Comportement du paramètre de filtre.

Champ d'union search_source. Définit la source de recherche, qui peut être un seul DataStore ou un seul moteur. search_source ne peut être qu'un des éléments suivants :
dataStoreSource

object (DataStoreSource)

Facultatif. Recherchez dans un seul DataStore spécifique.

engineSource

object (EngineSource)

Facultatif. Rechercher dans un moteur (potentiellement dans plusieurs DataStores).

DataStoreSource

Représentation JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Champs
filter

string

Facultatif. Spécification du filtre pour DataStore. Consultez https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata.

dataStore

object (DataStore)

Facultatif. Le data store.

DataStore

Représentation JSON
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
Champs
name

string

Obligatoire. Nom complet de la ressource DataStore. Format : projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

Uniquement en sortie. Type du data store. Ce champ est en lecture seule et est renseigné par le serveur.

documentProcessingMode

enum (DocumentProcessingMode)

Uniquement en sortie. Mode de traitement des documents pour la connexion au data store. Défini uniquement pour les data stores PUBLIC_WEB et UNSTRUCTURED.

displayName

string

Uniquement en sortie. Nom à afficher du data store.

createTime

string (Timestamp format)

Uniquement en sortie. Horodatage de la création du data store.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

connectorConfig

object (ConnectorConfig)

Uniquement en sortie. Configuration du connecteur pour la connexion au data store.

Horodatage

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z).

nanos

integer

Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus.

ConnectorConfig

Représentation JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Champs
collection

string

Nom de ressource de la collection à laquelle appartient le data store.

collectionDisplayName

string

Nom à afficher de la collection à laquelle appartient le data store.

dataSource

string

Nom de la source de données. Exemple : salesforce, jira, confluence, bigquery.

EngineSource

Représentation JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
Champs
engine

string

Obligatoire. Nom complet de la ressource du moteur. Format : projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

Facultatif. Utilisez-le pour cibler des DataStores spécifiques dans le moteur. Si elle est vide, la recherche s'applique à tous les DataStores associés au moteur.

filter

string

Facultatif. Filtre appliqué à la recherche dans le moteur. Sans intérêt et non utilisé si "data_store_sources" est fourni. Consultez https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata.

BoostSpecs

Représentation JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
Champs
dataStores[]

string

Obligatoire. Data Store auquel la configuration du boosting est appliquée. Nom complet de la ressource DataStore, par exemple projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (BoostSpec)

Obligatoire. Liste des spécifications de boosting.

BoostSpec

Représentation JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Champs
conditionBoostSpecs[]

object (ConditionBoostSpec)

Obligatoire. Liste des spécifications de boosting.

ConditionBoostSpec

Représentation JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Champs
condition

string

Obligatoire. Expression qui spécifie une condition d'optimisation. La syntaxe est la même que celle des expressions de filtre. Actuellement, la seule condition acceptée est une liste de codes de langue BCP-47. Exemple : Pour améliorer les suggestions dans les langues "en" ou "fr" : (lang_code: ANY("en", "fr"))

boost

number

Facultatif. Intensité du boost, qui doit être comprise entre -1 et 1. Un boosting négatif correspond à une rétrogradation. La valeur par défaut est 0.0.

Définir l'intensité sur 1.0 permet de promouvoir fortement les suggestions. Toutefois, cela ne signifie pas nécessairement que le premier résultat sera une suggestion boostée.

Si vous définissez la valeur sur -1,0, les suggestions sont fortement rétrogradées. Toutefois, d'autres suggestions pertinentes peuvent toujours s'afficher.

Si vous définissez la valeur sur 0,0, aucune amélioration n'est appliquée. La condition de boost est ignorée.

boostControlSpec

object (BoostControlSpec)

Facultatif. Spécification complexe pour le classement personnalisé basé sur la valeur de l'attribut définie par le client.

BoostControlSpec

Représentation JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Champs
fieldName

string

Facultatif. Nom du champ dont la valeur sera utilisée pour déterminer le montant du boost.

attributeType

enum (AttributeType)

Facultatif. Type d'attribut à utiliser pour déterminer le montant de l'augmentation. La valeur de l'attribut peut être dérivée de la valeur du champ spécifié par field_name. Dans le cas d'une valeur numérique, c'est simple : attribute_value = numerical_field_value. Dans le cas de la fraîcheur, attribute_value = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Facultatif. Type d'interpolation à appliquer pour connecter les points de contrôle listés ci-dessous.

controlPoints[]

object (ControlPoint)

Facultatif. Points de contrôle utilisés pour définir la courbe. La fonction monotone (définie par le biais de l'interpolation_type ci-dessus) passe par les points de contrôle listés ici.

ControlPoint

Représentation JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Champs
attributeValue

string

Facultatif. Peut être l'une des valeurs suivantes : 1. Valeur numérique du champ. 2. Spécification de la durée de fraîcheur : la valeur doit être mise en forme en tant que valeur dayTimeDuration XSD (sous-ensemble restreint d'une valeur de durée ISO 8601). Le format est le suivant : [nD][T[nH][nM][nS]].

boostAmount

number

Facultatif. Valeur comprise entre -1 et 1 permettant d'augmenter le score si la valeur de l'attribut correspond à la valeur spécifiée ci-dessus.

ModalityConfig

Représentation JSON
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "snippetsConfig": {
    object (SnippetsConfig)
  }
}
Champs
modalityType

enum (ModalityType)

Obligatoire. Type de modalité.

rewriterConfig

object (RewriterConfig)

Facultatif. Configuration du réécriveur.

summarizationConfig

object (SummarizationConfig)

Facultatif. Configuration de la synthèse.

groundingConfig

object (GroundingConfig)

Facultatif. Configuration de l'ancrage.

snippetsConfig

object (SnippetsConfig)

Facultatif. Configuration des extraits.

RewriterConfig

Représentation JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Champs
modelSettings

object (ModelSettings)

Obligatoire. Configurations du modèle LLM.

prompt

string

Facultatif. Définition de la requête. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée.

disabled

boolean

Facultatif. Indique si le réécrivain est désactivé.

ModelSettings

Représentation JSON
{
  "model": string,

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
Champs
model

string

Facultatif. Modèle LLM que l'agent doit utiliser. Si aucune valeur n'est définie, l'agent hérite du modèle de son agent parent.

Champ d'union _temperature.

_temperature ne peut être qu'un des éléments suivants :

temperature

number

Facultatif. Si cette option est définie, cette température sera utilisée pour le modèle LLM. La température contrôle le caractère aléatoire des réponses du modèle. Les températures plus basses produisent des réponses plus prévisibles. Les températures plus élevées génèrent des réponses plus créatives.

SummarizationConfig

Représentation JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Champs
modelSettings

object (ModelSettings)

Facultatif. Configurations du modèle LLM.

prompt

string

Facultatif. Définition de la requête. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée.

disabled

boolean

Facultatif. Indique si la synthèse est désactivée.

GroundingConfig

Représentation JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Champs
groundingLevel

number

Facultatif. Seuil d'ancrage de la réponse en fonction des sources récupérées. La valeur a une plage configurable de [1, 5]. Le niveau est utilisé pour définir le seuil de l'ancrage de la réponse. Cela signifie que toutes les réponses dont le score d'ancrage est inférieur au seuil ne renverront que des extraits pertinents.

Par exemple, un niveau de 3 signifie que le score d'ancrage doit être de 3 ou plus pour que la réponse soit renvoyée.

disabled

boolean

Facultatif. Indique si l'ancrage est désactivé.

SnippetsConfig

Représentation JSON
{
  "enableSnippets": boolean
}
Champs
enableSnippets

boolean

Facultatif. Indique si les extraits sont activés.

PythonFunction

Représentation JSON
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Champs
name

string

Facultatif. Nom de la fonction Python à exécuter. Doit correspondre à un nom de fonction Python défini dans le code Python. Sensible à la casse. Si aucun nom n'est fourni, la première fonction définie dans le code Python sera utilisée.

pythonCode

string

Facultatif. Code Python à exécuter pour l'outil.

description

string

Uniquement en sortie. Description de la fonction Python, analysée à partir de la docstring du code Python.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facultatif. Configuration de l'annuaire des services pour l'outil.

McpTool

Représentation JSON
{
  "name": string,
  "nameOverride": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "state": enum (State)
}
Champs
name

string

Obligatoire. Nom de l'outil MCP.

nameOverride

string

Facultatif. Nom de remplacement de l'outil MCP. Ce champ est renseigné si le nom a été remplacé par un remplacement Toolset.

description

string

Facultatif. Description de l'outil MCP.

inputSchema

object (Schema)

Facultatif. Schéma des arguments d'entrée de l'outil MCP.

outputSchema

object (Schema)

Facultatif. Schéma des arguments de sortie de l'outil MCP.

serverAddress

string

Obligatoire. Adresse du serveur MCP, par exemple "https://example.com/mcp/". Si le serveur est créé avec le SDK MCP, l'URL doit être suffixée par "/mcp/". Seuls les serveurs basés sur le transport HTTP Streamable sont acceptés. Cette valeur est identique à server_address dans McpToolset. Pour en savoir plus, consultez https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http.

apiAuthentication

object (ApiAuthentication)

Facultatif. Informations d'authentification requises pour exécuter l'outil sur le serveur MCP. Pour l'authentification par jeton du porteur, le jeton ne s'applique qu'à l'exécution de l'outil, et non à la liste des outils. Cela nécessite que les outils puissent être listés sans authentification.

tlsConfig

object (TlsConfig)

Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés auxquels le client doit faire confiance.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facultatif. Configuration Annuaire des services pour VPC-SC, utilisée pour résoudre les noms de service dans un périmètre.

customHeaders

map (key: string, value: string)

Facultatif. En-têtes personnalisés à envoyer dans la requête au serveur MCP. Les valeurs doivent être au format $context.variables.<name_of_variable> et peuvent être définies dans les variables de session. Pour en savoir plus, consultez https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (State)

Uniquement en sortie. État de disponibilité dynamique de l'outil sur le serveur externe.

CustomHeadersEntry

Représentation JSON
{
  "key": string,
  "value": string
}
Champs
key

string

value

string

FileSearchTool

Représentation JSON
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Champs
corpusType

enum (CorpusType)

Facultatif. Type de corpus. La valeur par défaut est FULLY_MANAGED.

name

string

Obligatoire. Nom de l'outil.

description

string

Facultatif. Description de l'outil.

fileCorpus

string

Facultatif. Corpus dans lequel les fichiers sont stockés. Format : projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

Représentation JSON
{
  "name": string,
  "description": string
}
Champs
name

string

Obligatoire. Nom de l'outil système.

description

string

Uniquement en sortie. Description de l'outil système.

AgentTool

Représentation JSON
{
  "name": string,
  "description": string,
  "agent": string
}
Champs
name

string

Obligatoire. Nom de l'outil de l'agent.

description

string

Facultatif. Description de l'objectif de l'outil.

agent

string

Facultatif. Nom de ressource de l'agent qui est le point d'entrée de l'outil. Format : projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Représentation JSON
{
  "name": string,
  "description": string,
  "widgetType": enum (WidgetType),
  "uiConfig": {
    object
  },
  "dataMapping": {
    object (DataMapping)
  },
  "textResponseConfig": {
    object (TextResponseConfig)
  },

  // Union field input can be only one of the following:
  "parameters": {
    object (Schema)
  }
  // End of list of possible types for union field input.
}
Champs
name

string

Obligatoire. Nom à afficher de l'outil de widget.

description

string

Facultatif. Description de l'outil de widget.

widgetType

enum (WidgetType)

Facultatif. Type de l'outil de widget. Si aucun type n'est spécifié, le type par défaut est "CUSTOMIZED" (PERSONNALISÉ).

uiConfig

object (Struct format)

Facultatif. Configuration pour l'affichage du widget.

dataMapping

object (DataMapping)

Facultatif. Mappage qui définit la façon dont les données d'un outil source sont mappées aux paramètres d'entrée du widget.

textResponseConfig

object (TextResponseConfig)

Facultatif. Configuration pour les réponses textuelles toujours incluses.

Champ d'union input. Entrée de l'outil de widget. input ne peut être qu'un des éléments suivants :
parameters

object (Schema)

Facultatif. Paramètres d'entrée de l'outil de widget.

DataMapping

Représentation JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (Mode),
  "pythonScript": string
}
Champs
sourceToolName

string

Facultatif. Nom de ressource de l'outil qui fournit les données du widget (par exemple, un outil de recherche ou une fonction personnalisée). Format : projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Facultatif. Mappage des champs de paramètres d'entrée du widget avec les champs de sortie correspondants de l'outil source.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

pythonFunction

object (PythonFunction)

Facultatif. Configuration d'une fonction Python utilisée pour transformer la sortie de l'outil source au format d'entrée du widget.

mode

enum (Mode)

Facultatif. Mode du mappage de données.

pythonScript
(deprecated)

string

Obsolète : utilisez plutôt python_function.

FieldMappingsEntry

Représentation JSON
{
  "key": string,
  "value": string
}
Champs
key

string

value

string

TextResponseConfig

Représentation JSON
{
  "type": enum (Type),
  "staticText": string,
  "textResponseInstruction": string
}
Champs
type

enum (Type)

Facultatif. Stratégie pour fournir la réponse textuelle.

staticText

string

Facultatif. Réponse texte statique à renvoyer lorsque le type est "STATIC".

textResponseInstruction

string

Facultatif. Instruction pour le LLM sur la façon de générer la réponse textuelle. Utilisé comme description du paramètre de réponse textuelle si le type est LLM_GENERATED.

RemoteAgentTool

Représentation JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  }
}
Champs
name

string

Obligatoire. Nom de l'outil.

description

string

Obligatoire. Description de l'outil.

agentCard

object (AgentCard)

Obligatoire. Fiche de l'agent distant que cet outil appelle.

AgentCard

Représentation JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Champs
name

string

Obligatoire. Nom d'agent lisible par l'humain.

description

string

Obligatoire. Description du domaine d'action/de l'espace de solutions de l'agent.

supportedInterfaces[]

object (AgentInterface)

Obligatoire. Liste ordonnée des interfaces compatibles. La première entrée est privilégiée.

version

string

Obligatoire. Version de l'agent.

skills[]

object (AgentSkill)

Obligatoire. Les compétences représentent une capacité qu'un agent peut effectuer. Cela peut sembler un peu abstrait, mais cela représente un ensemble d'actions plus ciblées que l'agent est très susceptible de réussir.

AgentInterface

Représentation JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Champs
url

string

Obligatoire. URL où cette interface est disponible. Doit être une URL HTTPS absolue valide en production. Exemple : "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Obligatoire. L'association de protocole acceptée à cette URL. Il s'agit d'une chaîne de formulaire ouverte, qui peut être facilement étendue à d'autres liaisons de protocole. Les principaux officiellement acceptés sont JSONRPC, GRPC et HTTP+JSON.

tenant

string

ID de locataire à utiliser dans la requête lors de l'appel de l'agent.

protocolVersion

string

Obligatoire. Version du protocole A2A que cette interface expose. Utilisez la dernière version mineure compatible pour chaque version majeure. Exemples : "0.3", "1.0"

AgentSkill

Représentation JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Champs
id

string

Obligatoire. Identifiant unique de la compétence de l'agent.

name

string

Obligatoire. Nom lisible de la compétence.

description

string

Obligatoire. Description détaillée de la compétence.

tags[]

string

Obligatoire. Ensemble de mots clés décrivant les capacités de la compétence.

examples[]

string

Exemples de requêtes ou de scénarios que cette compétence peut traiter.

inputModes[]

string

Ensemble des types de supports d'entrée acceptés pour cette compétence, qui remplacent les valeurs par défaut de l'agent.

outputModes[]

string

Ensemble des types de supports de sortie acceptés pour cette compétence, qui remplacent les valeurs par défaut de l'agent.

Durée

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Secondes signées de la période. La valeur doit être comprise entre -315 576 000 000 et +315 576 000 000 (inclus). Remarque : Ces limites sont calculées à partir de : 60 s/min * 60 min/h * 24 h/jour * 365,25 jours/an * 10 000 ans.

nanos

integer

Fractions de secondes signées avec une précision de l'ordre de la nanoseconde pour la durée. Les durées inférieures à une seconde sont représentées par un champ seconds égal à 0 et un champ nanos positif ou négatif. Pour les durées d'une seconde ou plus, une valeur non nulle pour le champ nanos doit avoir le même signe que le champ seconds. La valeur doit être comprise entre -999 999 999 et +999 999 999 inclus.

ToolFakeConfig

Représentation JSON
{
  "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.
}
Champs
enableFakeMode

boolean

Facultatif. Indique si l'outil utilise le mode factice.

Champ d'union tool_response. La réponse est statique ou fournie par une fonction Python. tool_response ne peut être qu'un des éléments suivants :
codeBlock

object (CodeBlock)

Facultatif. Bloc de code qui sera exécuté à la place d'un véritable appel d'outil.

CodeBlock

Représentation JSON
{
  "pythonCode": string
}
Champs
pythonCode

string

Obligatoire. Code Python qui sera appelé en mode faux outil. Signature de la fonction Python attendue : pour intercepter tous les appels d'outil : def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: pour intercepter un appel d'outil spécifique : def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: si la fonction renvoie "None", le véritable outil sera appelé à la place.

Type

Types de données OpenAPI.

Enums
TYPE_UNSPECIFIED Type non spécifié
STRING Type de chaîne.
INTEGER Type entier.
NUMBER Type de nombre.
BOOLEAN Type booléen.
OBJECT Type d'objet.
ARRAY Type de tableau.

NullValue

Représente un null JSON.

NullValue est une sentinelle qui utilise une énumération avec une seule valeur pour représenter la valeur nulle de l'union de type Value.

Un champ de type NullValue avec une valeur autre que 0 est considéré comme non valide. La plupart des sérialiseurs ProtoJSON émettent un Value avec un null_value défini comme null JSON, quelle que soit la valeur entière, et effectuent donc un aller-retour vers une valeur 0.

Enums
NULL_VALUE Valeur nulle.

RequestLocation

Emplacement de la clé API dans la requête.

Enums
REQUEST_LOCATION_UNSPECIFIED Non spécifié. Cette valeur ne doit pas être utilisée.
HEADER Représente la clé dans l'en-tête HTTP.
QUERY_STRING Représente la clé dans la chaîne de requête.

OauthGrantType

Types d'attribution OAuth. Seule l'attribution d'identifiants client est acceptée.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Non spécifié. La valeur par défaut est CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Représente le flux d'identifiants client.

OperationType

Opération à effectuer sur l'entité.

Enums
OPERATION_TYPE_UNSPECIFIED Type d'opération non spécifié. Non valide. La création ou la mise à jour de ConnectorTool échouera.
LIST Opération de liste.
GET Obtenir une opération.
CREATE Opération de création.
UPDATE Opération de mise à jour.
DELETE Supprimer une opération.

DataStoreType

Type du data store.

Enums
DATA_STORE_TYPE_UNSPECIFIED Non spécifié. Cette valeur indique que le type de data store n'est pas spécifié. Il ne sera donc pas utilisé lors de la recherche.
PUBLIC_WEB Un data store contenant du contenu Web public.
UNSTRUCTURED Datastore contenant des données privées non structurées.
FAQ Un data store contenant des données structurées utilisées comme questions fréquentes.
CONNECTOR Datastore qui sert de connecteur à un service first party ou tiers.

DocumentProcessingMode

Mode de traitement des documents du data store.

Enums
DOCUMENT_PROCESSING_MODE_UNSPECIFIED Non spécifié.
DOCUMENTS Les documents sont traités en tant que documents.
CHUNKS Les documents sont convertis en blocs.

AttributeType

Attribut(ou fonction) auquel le classement personnalisé doit être appliqué.

Enums
ATTRIBUTE_TYPE_UNSPECIFIED Type d'attribut non spécifié.
NUMERICAL La valeur du champ numérique sera utilisée pour mettre à jour dynamiquement le montant du boost. Dans ce cas, la valeur d'attribut (valeur x) du point de contrôle sera la valeur réelle du champ numérique pour lequel boost_amount est spécifié.
FRESHNESS Dans le cas d'utilisation de la fraîcheur, la valeur de l'attribut correspond à la durée entre l'heure actuelle et la date indiquée dans le champ "datetime". La valeur doit être au format XSD dayTimeDuration (sous-ensemble restreint d'une valeur de durée ISO 8601). Le format est le suivant : [nD][T[nH][nM][nS]]. Par exemple, 5D, 3DT12H30M ou T24H.

InterpolationType

Type d'interpolation à appliquer. La valeur par défaut est "linéaire" (linéaire par morceaux).

Enums
INTERPOLATION_TYPE_UNSPECIFIED Le type d'interpolation n'est pas spécifié. Dans ce cas, la valeur par défaut est "Linéaire".
LINEAR Une interpolation linéaire par morceaux sera appliquée.

ModalityType

Type de modalité.

Enums
MODALITY_TYPE_UNSPECIFIED Type de modalité non spécifié.
TEXT Modalité textuelle.
AUDIO Modalité audio.

FilterParameterBehavior

Comportement des paramètres de filtre.

Enums
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Comportement par défaut du filtre. Incluez le paramètre de filtre pour les data stores de connecteur. Pour les autres types de magasins de données, le paramètre d'entrée du filtre est omis.
ALWAYS_INCLUDE Incluez toujours un paramètre de filtre pour tous les types de data stores.
NEVER_INCLUDE Le paramètre de filtre n'est jamais inclus dans la liste des paramètres d'outil, quel que soit le type de data store.

État

Représente l'état de disponibilité dynamique de l'outil.

Enums
STATE_UNSPECIFIED État par défaut.
ACTIVE L'outil est disponible et proposé activement par le serveur.
INACTIVE L'outil est configuré ou épinglé, mais n'est actuellement pas proposé par le serveur.
STALE L'outil existe sur le serveur, mais ne correspond pas à la version du serveur.

CorpusType

Type de corpus RAG Vertex.

Enums
CORPUS_TYPE_UNSPECIFIED Type de corpus non spécifié.
USER_OWNED Le corpus est créé par l'utilisateur et lui appartient.
FULLY_MANAGED Le corpus est créé par l'agent.

WidgetType

Tous les types de widgets disponibles. De nouvelles valeurs pourront être ajoutées à cette énumération à l'avenir.

Enums
WIDGET_TYPE_UNSPECIFIED Type de widget non spécifié.
CUSTOM Type de widget personnalisé.
PRODUCT_DETAILS Widget d'informations détaillées sur le produit.
QUICK_ACTIONS Widget Actions rapides.
PRODUCT_COMPARISON Widget de comparaison de produits.
ADVANCED_PRODUCT_DETAILS Widget d'informations détaillées avancées sur le produit.
SHORT_FORM Widget de formulaire court.
OVERALL_SATISFACTION Widget de satisfaction globale.
ORDER_SUMMARY Widget de récapitulatif de la commande.
APPOINTMENT_DETAILS Widget de détails du rendez-vous.
APPOINTMENT_SCHEDULER Widget de planification des rendez-vous.
CONTACT_FORM Widget de formulaire de contact.

Mode

Stratégie utilisée pour mapper les données de l'outil source au widget.

Enums
MODE_UNSPECIFIED Mode non spécifié.
FIELD_MAPPING Utilisez la carte field_mappings pour transformer les données.
PYTHON_SCRIPT Utilisez python_script pour transformer les données.

Type

Définit la manière dont la réponse textuelle est produite.

Enums
TYPE_UNSPECIFIED Type non spécifié.
NONE Le LLM décide de manière dynamique s'il doit générer une réponse textuelle en plus du widget en fonction du contexte de la conversation.
LLM_GENERATED Le LLM est explicitement tenu de générer une réponse textuelle.
STATIC Une réponse texte statique prédéfinie est toujours utilisée.

ExecutionType

Type d'exécution de l'outil ou de l'ensemble d'outils.

Enums
EXECUTION_TYPE_UNSPECIFIED Le type d'exécution n'est pas spécifié. Prend la valeur SYNCHRONOUS par défaut s'il n'est pas spécifié.
SYNCHRONOUS L'outil est exécuté de manière synchrone. La session est bloquée jusqu'à ce que l'outil renvoie une réponse.
ASYNCHRONOUS L'outil est exécuté de manière asynchrone. La session se poursuivra pendant l'exécution de l'outil.

Schéma de sortie

Un outil représente une action que l'agent CES peut effectuer pour atteindre certains objectifs.

Outil

Représentation JSON
{
  "name": string,
  "displayName": string,
  "executionType": enum (ExecutionType),
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "generatedSummary": string,
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field tool_type can be only one of the following:
  "clientFunction": {
    object (ClientFunction)
  },
  "openApiTool": {
    object (OpenApiTool)
  },
  "googleSearchTool": {
    object (GoogleSearchTool)
  },
  "connectorTool": {
    object (ConnectorTool)
  },
  "dataStoreTool": {
    object (DataStoreTool)
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mcpTool": {
    object (McpTool)
  },
  "fileSearchTool": {
    object (FileSearchTool)
  },
  "systemTool": {
    object (SystemTool)
  },
  "agentTool": {
    object (AgentTool)
  },
  "widgetTool": {
    object (WidgetTool)
  },
  "remoteAgentTool": {
    object (RemoteAgentTool)
  }
  // End of list of possible types for union field tool_type.
}
Champs
name

string

Identifiant. Nom de ressource de l'outil. Format :

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} pour les outils autonomes.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} pour les outils récupérés à partir d'un ensemble d'outils.

Ces outils sont dynamiques et en sortie uniquement. Ils ne peuvent pas être référencés directement lorsqu'un outil est attendu.

displayName

string

Uniquement en sortie. Nom à afficher de l'outil, basé sur son type. Par exemple, le nom à afficher d'une [ClientFunction][Tool.ClientFunction] est dérivé de sa propriété name.

executionType

enum (ExecutionType)

Facultatif. Type d'exécution de l'outil.

timeout

string (Duration format)

Facultatif. Délai d'exécution de l'outil. Si ce paramètre n'est pas défini, le délai d'inactivité par défaut est de 30 secondes pour les outils SYNCHRONOUS et de 60 secondes pour les outils ASYNCHRONOUS.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la création de l'outil.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la dernière mise à jour de l'outil.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

etag

string

Etag utilisé pour s'assurer que l'objet n'a pas été modifié lors d'une opération de lecture/modification/écriture. Si l'etag est vide, la mise à jour écrasera toutes les modifications simultanées.

generatedSummary

string

Uniquement en sortie. Si l'outil est généré par l'assistant LLM, ce champ contient un résumé descriptif de la génération.

toolFakeConfig

object (ToolFakeConfig)

Facultatif. Configuration du comportement de l'outil en mode factice.

Champ d'union tool_type. Type d'outil. tool_type ne peut être qu'un des éléments suivants :
clientFunction

object (ClientFunction)

Facultatif. Fonction client.

openApiTool

object (OpenApiTool)

Facultatif. Outil d'API ouverte.

googleSearchTool

object (GoogleSearchTool)

Facultatif. Outil de recherche Google.

connectorTool

object (ConnectorTool)

Facultatif. L'outil Integration Connectors.

dataStoreTool

object (DataStoreTool)

Facultatif. Outil de data store.

pythonFunction

object (PythonFunction)

Facultatif. Outil de fonction Python.

mcpTool

object (McpTool)

Facultatif. L'outil MCP. Il n'est pas possible de créer ni de modifier directement un outil MCP, car il est géré par l'ensemble d'outils MCP.

fileSearchTool

object (FileSearchTool)

Facultatif. Outil de recherche de fichiers.

systemTool

object (SystemTool)

Facultatif. L'outil système.

agentTool

object (AgentTool)

Facultatif. Outil d'agent.

widgetTool

object (WidgetTool)

Facultatif. L'outil Widget.

remoteAgentTool

object (RemoteAgentTool)

Facultatif. L'outil d'agent distant.

ClientFunction

Représentation JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Champs
name

string

Obligatoire. Nom de la fonction.

description

string

Facultatif. Description de la fonction.

parameters

object (Schema)

Facultatif. Schéma des paramètres de la fonction.

response

object (Schema)

Facultatif. Schéma de la réponse de la fonction.

Schéma

Représentation JSON
{
  "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.
}
Champs
type

enum (Type)

Obligatoire. Type des données.

properties

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

Facultatif. Propriétés de Type.OBJECT.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Facultatif. Propriétés requises de Type.OBJECT.

description

string

Facultatif. Description des données.

items

object (Schema)

Facultatif. Schéma des éléments de Type.ARRAY.

nullable

boolean

Facultatif. Indique si la valeur peut être nulle.

uniqueItems

boolean

Facultatif. Indique que les éléments du tableau doivent être uniques. Ne s'applique qu'à TYPE.ARRAY.

prefixItems[]

object (Schema)

Facultatif. Schémas des éléments initiaux de Type.ARRAY.

additionalProperties

object (Schema)

Facultatif. Peut être une valeur booléenne ou un objet. Contrôle la présence de propriétés supplémentaires.

anyOf[]

object (Schema)

Facultatif. La valeur doit être validée par rapport à l'un ou plusieurs des sous-schémas de la liste.

enum[]

string

Facultatif. Valeurs possibles de l'élément de type primitif avec le format enum. Exemples : 1. Nous pouvons définir la direction comme suit : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Nous pouvons définir le numéro d'appartement comme suit : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Facultatif. Valeur par défaut des données.

ref

string

Facultatif. Permet les références indirectes entre les nœuds de schéma. La valeur doit être une référence valide à un enfant de la racine defs.

Par exemple, le schéma suivant définit une référence à un nœud de schéma nommé "Pet" :

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

La valeur de la propriété "pet" est une référence au nœud de schéma nommé "Pet". Pour en savoir plus, consultez https://json-schema.org/understanding-json-schema/structuring.

defs

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

Facultatif. Carte des définitions à utiliser par ref. Uniquement autorisé à la racine du schéma.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Facultatif. Titre du schéma.

minItems

string (int64 format)

Facultatif. Nombre minimal d'éléments pour Type.ARRAY.

maxItems

string (int64 format)

Facultatif. Nombre maximal d'éléments pour Type.ARRAY.

Champ d'union _minimum.

_minimum ne peut être qu'un des éléments suivants :

minimum

number

Facultatif. Valeur minimale pour Type.INTEGER et Type.NUMBER.

Champ d'union _maximum.

_maximum ne peut être qu'un des éléments suivants :

maximum

number

Facultatif. Valeur maximale pour Type.INTEGER et Type.NUMBER.

PropertiesEntry

Représentation JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Champs
key

string

value

object (Schema)

Valeur

Représentation JSON
{

  // 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.
}
Champs
Champ d'union kind. Type de valeur. kind ne peut être qu'un des éléments suivants :
nullValue

null

Représente un null JSON.

numberValue

number

Représente un nombre JSON. Ne doit pas être NaN, Infinity ni -Infinity, car ces valeurs ne sont pas acceptées dans JSON. Il ne peut pas non plus représenter de grandes valeurs Int64, car le format JSON ne les accepte généralement pas dans son type numérique.

stringValue

string

Représente une chaîne JSON.

boolValue

boolean

Représente une valeur booléenne JSON (littéral true ou false en JSON).

structValue

object (Struct format)

Représente un objet JSON.

listValue

array (ListValue format)

Représente un tableau JSON.

Struct

Représentation JSON
{
  "fields": {
    string: value,
    ...
  }
}
Champs
fields

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

Carte non ordonnée de valeurs typées de manière dynamique.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Représentation JSON
{
  "key": string,
  "value": value
}
Champs
key

string

value

value (Value format)

ListValue

Représentation JSON
{
  "values": [
    value
  ]
}
Champs
values[]

value (Value format)

Champ répété de valeurs typées de manière dynamique.

DefsEntry

Représentation JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Champs
key

string

value

object (Schema)

OpenApiTool

Représentation JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Champs
openApiSchema

string

Obligatoire. Schéma OpenAPI au format JSON ou YAML.

name

string

Facultatif. Nom de l'outil. S'il n'est pas fourni, le nom de l'outil sera dérivé du schéma OpenAPI, à partir de operation.operationId.

description

string

Facultatif. Description de l'outil. Si aucune description n'est fournie, elle sera dérivée du schéma OpenAPI, de operation.description ou de operation.summary.

apiAuthentication

object (ApiAuthentication)

Facultatif. Informations d'authentification requises par l'API.

tlsConfig

object (TlsConfig)

Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés auxquels le client fera confiance.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facultatif. Configuration de l'annuaire des services.

ignoreUnknownFields

boolean

Facultatif. Si la valeur est "true", l'agent ignore les champs inconnus dans la réponse de l'API.

url

string

Facultatif. URL du serveur du schéma Open API. Ce champ n'est défini dans les outils des dépendances d'environnement lors du processus d'exportation que si le schéma contient une URL de serveur. Lors du processus d'importation, si cette URL est présente dans les dépendances de l'environnement et que le schéma comporte l'espace réservé $env_var, elle remplacera l'espace réservé dans le schéma.

ApiAuthentication

Représentation JSON
{

  // 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.
}
Champs
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants :
apiKeyConfig

object (ApiKeyConfig)

Facultatif. Configuration pour l'authentification par clé API.

oauthConfig

object (OAuthConfig)

Facultatif. Configuration pour OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Facultatif. Configuration pour l'authentification par jeton d'identification générée à partir de l'agent de service CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Facultatif. Configuration pour l'authentification du compte de service.

bearerTokenConfig

object (BearerTokenConfig)

Facultatif. Configuration pour l'authentification par jeton du porteur.

ApiKeyConfig

Représentation JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Champs
keyName

string

Obligatoire. Nom du paramètre ou de l'en-tête de la clé API. Exemple : Si la requête API est "https://example.com/act?X-Api-Key=", "X-Api-Key" est le nom du paramètre.

apiKeySecretVersion

string

Obligatoire. Nom de la ressource de version secrète Secret Manager stockant la clé API. Format : projects/{project}/secrets/{secret}/versions/{version}

Remarque : Vous devez attribuer le rôle roles/secretmanager.secretAccessor à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Obligatoire. Emplacement de la clé dans la requête.

OAuthConfig

Représentation JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Champs
oauthGrantType

enum (OauthGrantType)

Obligatoire. Types d'attribution OAuth.

clientId

string

Obligatoire. ID client du fournisseur OAuth.

clientSecretVersion

string

Obligatoire. Nom de la ressource de version du secret Secret Manager stockant le code secret du client. Format : projects/{project}/secrets/{secret}/versions/{version}

Remarque : Vous devez attribuer le rôle roles/secretmanager.secretAccessor à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obligatoire. Point de terminaison du jeton dans le fournisseur OAuth pour l'échange d'un jeton d'accès.

scopes[]

string

Facultatif. Champs d'application OAuth à accorder.

ServiceAccountAuthConfig

Représentation JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Champs
serviceAccount

string

Obligatoire. Adresse e-mail du compte de service utilisé pour l'authentification. CES utilise ce compte de service pour échanger un jeton d'accès, qui est ensuite envoyé dans l'en-tête Authorization de la requête.

Le compte de service doit disposer du rôle roles/iam.serviceAccountTokenCreator attribué à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Facultatif. Champs d'application OAuth à accorder. Si aucune valeur n'est spécifiée, le champ d'application par défaut https://www.googleapis.com/auth/cloud-platform est utilisé.

BearerTokenConfig

Représentation JSON
{
  "token": string
}
Champs
token

string

Obligatoire. Jeton de support. Il doit respecter le format $context.variables.<name_of_variable>.

TlsConfig

Représentation JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Champs
caCerts[]

object (CaCert)

Obligatoire. Indique une liste de certificats CA personnalisés autorisés pour la validation HTTPS.

CaCert

Représentation JSON
{
  "displayName": string,
  "cert": string
}
Champs
displayName

string

Obligatoire. Nom des certificats CA personnalisés autorisés. Cela permet de lever toute ambiguïté concernant les certificats d'autorité de certification personnalisés.

cert

string (bytes format)

Obligatoire. Certificats CA personnalisés autorisés (au format DER) pour la validation HTTPS. Cela remplace le magasin de confiance SSL par défaut. Si ce champ est vide ou n'est pas spécifié, CES utilisera le magasin de confiance par défaut de Google pour valider les certificats. Remarque : Assurez-vous que les certificats de serveur HTTPS sont signés avec "subject alt name". Par exemple, un certificat peut être autosigné à l'aide de la commande suivante :

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

Chaîne encodée en base64.

ServiceDirectoryConfig

Représentation JSON
{
  "service": string
}
Champs
service

string

Obligatoire. Nom du service Annuaire des services. Format : projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. L'emplacement de l'annuaire des services doit être identique à celui de l'application.

GoogleSearchTool

Représentation JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
Champs
name

string

Obligatoire. Nom de l'outil.

description

string

Facultatif. Description de l'objectif de l'outil.

contextUrls[]

string

Facultatif. Le contenu sera récupéré directement à partir de ces URL pour le contexte et l'ancrage. Exemple : "https://example.com/path.html". Vous ne pouvez pas inclure plus de 20 URL.

preferredDomains[]

string

Facultatif. Spécifie les domaines auxquels limiter les résultats de recherche. Exemple : "example.com", "another.site". Vous pouvez spécifier jusqu'à 20 domaines.

excludeDomains[]

string

Facultatif. Liste des domaines à exclure des résultats de recherche. Exemple : "example.com". Vous ne pouvez pas exclure plus de 2 000 domaines.

promptConfig

object (PromptConfig)

Facultatif. Instructions d'invite transmises au planificateur sur la façon dont les résultats de recherche doivent être traités pour le texte et la voix.

PromptConfig

Représentation JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Champs
textPrompt

string

Facultatif. Définit la requête utilisée pour les instructions système lors des interactions avec l'agent dans les conversations par chat. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée.

voicePrompt

string

Facultatif. Définit la requête utilisée pour les instructions système lors des interactions avec l'agent dans les conversations vocales. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée.

ConnectorTool

Représentation JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Champs
connection

string

Obligatoire. Nom complet de la ressource de la connexion Integration Connectors référencée. Format : projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Obligatoire. Action à utiliser pour l'outil.

authConfig

object (EndUserAuthConfig)

Facultatif. Configure la façon dont l'authentification est gérée dans Integration Connectors. Par défaut, une authentification d'administrateur est transmise dans les requêtes de l'API Integration Connectors. Vous pouvez la remplacer par une autre configuration d'authentification de l'utilisateur final. Remarque : La substitution de l'authentification doit être activée pour la connexion afin de pouvoir spécifier une configuration EUC ici. Sinon, la création de ConnectorTool échouera. Pour en savoir plus, consultez https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override.

name

string

Facultatif. Nom de l'outil que l'agent peut utiliser pour déterminer s'il doit appeler ConnectorTool.

description

string

Facultatif. Description de l'outil que l'agent peut utiliser pour déterminer s'il doit appeler ConnectorTool.

Action

Représentation JSON
{
  "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.
}
Champs
inputFields[]

string

Facultatif. Champs d'entité à utiliser comme entrées pour l'opération. Si aucun champ n'est spécifié, tous les champs de l'entité seront utilisés.

outputFields[]

string

Facultatif. Champs d'entité à renvoyer à partir de l'opération. Si aucun champ n'est spécifié, tous les champs de l'entité sont renvoyés.

Champ d'union action_spec. Spécification d'une action à configurer pour que l'outil l'utilise. action_spec ne peut être qu'un des éléments suivants :
connectionActionId

string

ID d'une action de connexion que l'outil doit utiliser.

entityOperation

object (EntityOperation)

Configuration de l'opération d'entité à utiliser par l'outil.

EntityOperation

Représentation JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Champs
entityId

string

Obligatoire. ID de l'entité.

operation

enum (OperationType)

Obligatoire. Opération à effectuer sur l'entité.

EndUserAuthConfig

Représentation JSON
{

  // 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.
}
Champs
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants :
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Authentification par code d'autorisation OAuth 2.0.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Authentification par attribution d'autorisation OAuth 2.0 avec profil JWT.

Oauth2AuthCodeConfig

Représentation JSON
{
  "oauthToken": string
}
Champs
oauthToken

string

Obligatoire. Nom du paramètre de jeton OAuth à transmettre. Il doit respecter le format $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Représentation JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Champs
issuer

string

Obligatoire. Nom du paramètre de l'émetteur à transmettre. Il doit respecter le format $context.variables.<name_of_variable>.

subject

string

Obligatoire. Nom du paramètre d'objet à transmettre. Il doit respecter le format $context.variables.<name_of_variable>.

clientKey

string

Obligatoire. Nom du paramètre client à transmettre. Il doit respecter le format $context.variables.<name_of_variable>.

DataStoreTool

Représentation JSON
{
  "name": string,
  "description": string,
  "boostSpecs": [
    {
      object (BoostSpecs)
    }
  ],
  "modalityConfigs": [
    {
      object (ModalityConfig)
    }
  ],
  "filterParameterBehavior": enum (FilterParameterBehavior),

  // Union field search_source can be only one of the following:
  "dataStoreSource": {
    object (DataStoreSource)
  },
  "engineSource": {
    object (EngineSource)
  }
  // End of list of possible types for union field search_source.
}
Champs
name

string

Obligatoire. Nom de l'outil data store.

description

string

Facultatif. Description de l'outil.

boostSpecs[]

object (BoostSpecs)

Facultatif. Booster les spécifications pour mettre en avant certains documents.

modalityConfigs[]

object (ModalityConfig)

Facultatif. Configurations de modalités pour le data store.

filterParameterBehavior

enum (FilterParameterBehavior)

Facultatif. Comportement du paramètre de filtre.

Champ d'union search_source. Définit la source de recherche, qui peut être un seul DataStore ou un seul moteur. search_source ne peut être qu'un des éléments suivants :
dataStoreSource

object (DataStoreSource)

Facultatif. Recherchez dans un seul DataStore spécifique.

engineSource

object (EngineSource)

Facultatif. Rechercher dans un moteur (potentiellement dans plusieurs DataStores).

DataStoreSource

Représentation JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Champs
filter

string

Facultatif. Spécification du filtre pour DataStore. Consultez https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata.

dataStore

object (DataStore)

Facultatif. Le data store.

DataStore

Représentation JSON
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
Champs
name

string

Obligatoire. Nom complet de la ressource DataStore. Format : projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

Uniquement en sortie. Type du data store. Ce champ est en lecture seule et est renseigné par le serveur.

documentProcessingMode

enum (DocumentProcessingMode)

Uniquement en sortie. Mode de traitement des documents pour la connexion au data store. Défini uniquement pour les data stores PUBLIC_WEB et UNSTRUCTURED.

displayName

string

Uniquement en sortie. Nom à afficher du data store.

createTime

string (Timestamp format)

Uniquement en sortie. Horodatage de la création du data store.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

connectorConfig

object (ConnectorConfig)

Uniquement en sortie. Configuration du connecteur pour la connexion au data store.

Horodatage

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z).

nanos

integer

Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus.

ConnectorConfig

Représentation JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Champs
collection

string

Nom de ressource de la collection à laquelle appartient le data store.

collectionDisplayName

string

Nom à afficher de la collection à laquelle appartient le data store.

dataSource

string

Nom de la source de données. Exemple : salesforce, jira, confluence, bigquery.

EngineSource

Représentation JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
Champs
engine

string

Obligatoire. Nom complet de la ressource du moteur. Format : projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

Facultatif. Utilisez-le pour cibler des DataStores spécifiques dans le moteur. Si elle est vide, la recherche s'applique à tous les DataStores associés au moteur.

filter

string

Facultatif. Filtre appliqué à la recherche dans le moteur. Sans intérêt et non utilisé si "data_store_sources" est fourni. Consultez https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata.

BoostSpecs

Représentation JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
Champs
dataStores[]

string

Obligatoire. Data Store auquel la configuration du boosting est appliquée. Nom complet de la ressource DataStore, par exemple projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (BoostSpec)

Obligatoire. Liste des spécifications de boosting.

BoostSpec

Représentation JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Champs
conditionBoostSpecs[]

object (ConditionBoostSpec)

Obligatoire. Liste des spécifications de boosting.

ConditionBoostSpec

Représentation JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Champs
condition

string

Obligatoire. Expression qui spécifie une condition d'optimisation. La syntaxe est la même que celle des expressions de filtre. Actuellement, la seule condition acceptée est une liste de codes de langue BCP-47. Exemple : Pour améliorer les suggestions dans les langues "en" ou "fr" : (lang_code: ANY("en", "fr"))

boost

number

Facultatif. Intensité du boost, qui doit être comprise entre -1 et 1. Un boosting négatif correspond à une rétrogradation. La valeur par défaut est 0.0.

Définir l'intensité sur 1.0 permet de promouvoir fortement les suggestions. Toutefois, cela ne signifie pas nécessairement que le premier résultat sera une suggestion boostée.

Si vous définissez la valeur sur -1,0, les suggestions sont fortement rétrogradées. Toutefois, d'autres suggestions pertinentes peuvent toujours s'afficher.

Si vous définissez la valeur sur 0,0, aucune amélioration n'est appliquée. La condition de boost est ignorée.

boostControlSpec

object (BoostControlSpec)

Facultatif. Spécification complexe pour le classement personnalisé basé sur la valeur de l'attribut définie par le client.

BoostControlSpec

Représentation JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Champs
fieldName

string

Facultatif. Nom du champ dont la valeur sera utilisée pour déterminer le montant du boost.

attributeType

enum (AttributeType)

Facultatif. Type d'attribut à utiliser pour déterminer le montant de l'augmentation. La valeur de l'attribut peut être dérivée de la valeur du champ spécifié par field_name. Dans le cas d'une valeur numérique, c'est simple : attribute_value = numerical_field_value. Dans le cas de la fraîcheur, attribute_value = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Facultatif. Type d'interpolation à appliquer pour connecter les points de contrôle listés ci-dessous.

controlPoints[]

object (ControlPoint)

Facultatif. Points de contrôle utilisés pour définir la courbe. La fonction monotone (définie par le biais de l'interpolation_type ci-dessus) passe par les points de contrôle listés ici.

ControlPoint

Représentation JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Champs
attributeValue

string

Facultatif. Peut être l'une des valeurs suivantes : 1. Valeur numérique du champ. 2. Spécification de la durée de fraîcheur : la valeur doit être mise en forme en tant que valeur dayTimeDuration XSD (sous-ensemble restreint d'une valeur de durée ISO 8601). Le format est le suivant : [nD][T[nH][nM][nS]].

boostAmount

number

Facultatif. Valeur comprise entre -1 et 1 permettant d'augmenter le score si la valeur de l'attribut correspond à la valeur spécifiée ci-dessus.

ModalityConfig

Représentation JSON
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "snippetsConfig": {
    object (SnippetsConfig)
  }
}
Champs
modalityType

enum (ModalityType)

Obligatoire. Type de modalité.

rewriterConfig

object (RewriterConfig)

Facultatif. Configuration du réécriveur.

summarizationConfig

object (SummarizationConfig)

Facultatif. Configuration de la synthèse.

groundingConfig

object (GroundingConfig)

Facultatif. Configuration de l'ancrage.

snippetsConfig

object (SnippetsConfig)

Facultatif. Configuration des extraits.

RewriterConfig

Représentation JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Champs
modelSettings

object (ModelSettings)

Obligatoire. Configurations du modèle LLM.

prompt

string

Facultatif. Définition de la requête. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée.

disabled

boolean

Facultatif. Indique si le réécrivain est désactivé.

ModelSettings

Représentation JSON
{
  "model": string,

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
Champs
model

string

Facultatif. Modèle LLM que l'agent doit utiliser. Si aucune valeur n'est définie, l'agent hérite du modèle de son agent parent.

Champ d'union _temperature.

_temperature ne peut être qu'un des éléments suivants :

temperature

number

Facultatif. Si cette option est définie, cette température sera utilisée pour le modèle LLM. La température contrôle le caractère aléatoire des réponses du modèle. Les températures plus basses produisent des réponses plus prévisibles. Les températures plus élevées génèrent des réponses plus créatives.

SummarizationConfig

Représentation JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Champs
modelSettings

object (ModelSettings)

Facultatif. Configurations du modèle LLM.

prompt

string

Facultatif. Définition de la requête. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée.

disabled

boolean

Facultatif. Indique si la synthèse est désactivée.

GroundingConfig

Représentation JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Champs
groundingLevel

number

Facultatif. Seuil d'ancrage de la réponse en fonction des sources récupérées. La valeur a une plage configurable de [1, 5]. Le niveau est utilisé pour définir le seuil de l'ancrage de la réponse. Cela signifie que toutes les réponses dont le score d'ancrage est inférieur au seuil ne renverront que des extraits pertinents.

Par exemple, un niveau de 3 signifie que le score d'ancrage doit être de 3 ou plus pour que la réponse soit renvoyée.

disabled

boolean

Facultatif. Indique si l'ancrage est désactivé.

SnippetsConfig

Représentation JSON
{
  "enableSnippets": boolean
}
Champs
enableSnippets

boolean

Facultatif. Indique si les extraits sont activés.

PythonFunction

Représentation JSON
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Champs
name

string

Facultatif. Nom de la fonction Python à exécuter. Doit correspondre à un nom de fonction Python défini dans le code Python. Sensible à la casse. Si aucun nom n'est fourni, la première fonction définie dans le code Python sera utilisée.

pythonCode

string

Facultatif. Code Python à exécuter pour l'outil.

description

string

Uniquement en sortie. Description de la fonction Python, analysée à partir de la docstring du code Python.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facultatif. Configuration de l'annuaire des services pour l'outil.

McpTool

Représentation JSON
{
  "name": string,
  "nameOverride": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "state": enum (State)
}
Champs
name

string

Obligatoire. Nom de l'outil MCP.

nameOverride

string

Facultatif. Nom de remplacement de l'outil MCP. Ce champ est renseigné si le nom a été remplacé par un remplacement Toolset.

description

string

Facultatif. Description de l'outil MCP.

inputSchema

object (Schema)

Facultatif. Schéma des arguments d'entrée de l'outil MCP.

outputSchema

object (Schema)

Facultatif. Schéma des arguments de sortie de l'outil MCP.

serverAddress

string

Obligatoire. Adresse du serveur MCP, par exemple "https://example.com/mcp/". Si le serveur est créé avec le SDK MCP, l'URL doit être suffixée par "/mcp/". Seuls les serveurs basés sur le transport HTTP Streamable sont acceptés. Cette valeur est identique à server_address dans McpToolset. Pour en savoir plus, consultez https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http.

apiAuthentication

object (ApiAuthentication)

Facultatif. Informations d'authentification requises pour exécuter l'outil sur le serveur MCP. Pour l'authentification par jeton du porteur, le jeton ne s'applique qu'à l'exécution de l'outil, et non à la liste des outils. Cela nécessite que les outils puissent être listés sans authentification.

tlsConfig

object (TlsConfig)

Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés auxquels le client doit faire confiance.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facultatif. Configuration Annuaire des services pour VPC-SC, utilisée pour résoudre les noms de service dans un périmètre.

customHeaders

map (key: string, value: string)

Facultatif. En-têtes personnalisés à envoyer dans la requête au serveur MCP. Les valeurs doivent être au format $context.variables.<name_of_variable> et peuvent être définies dans les variables de session. Pour en savoir plus, consultez https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (State)

Uniquement en sortie. État de disponibilité dynamique de l'outil sur le serveur externe.

CustomHeadersEntry

Représentation JSON
{
  "key": string,
  "value": string
}
Champs
key

string

value

string

FileSearchTool

Représentation JSON
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Champs
corpusType

enum (CorpusType)

Facultatif. Type de corpus. La valeur par défaut est FULLY_MANAGED.

name

string

Obligatoire. Nom de l'outil.

description

string

Facultatif. Description de l'outil.

fileCorpus

string

Facultatif. Corpus dans lequel les fichiers sont stockés. Format : projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

Représentation JSON
{
  "name": string,
  "description": string
}
Champs
name

string

Obligatoire. Nom de l'outil système.

description

string

Uniquement en sortie. Description de l'outil système.

AgentTool

Représentation JSON
{
  "name": string,
  "description": string,
  "agent": string
}
Champs
name

string

Obligatoire. Nom de l'outil de l'agent.

description

string

Facultatif. Description de l'objectif de l'outil.

agent

string

Facultatif. Nom de ressource de l'agent qui est le point d'entrée de l'outil. Format : projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Représentation JSON
{
  "name": string,
  "description": string,
  "widgetType": enum (WidgetType),
  "uiConfig": {
    object
  },
  "dataMapping": {
    object (DataMapping)
  },
  "textResponseConfig": {
    object (TextResponseConfig)
  },

  // Union field input can be only one of the following:
  "parameters": {
    object (Schema)
  }
  // End of list of possible types for union field input.
}
Champs
name

string

Obligatoire. Nom à afficher de l'outil de widget.

description

string

Facultatif. Description de l'outil de widget.

widgetType

enum (WidgetType)

Facultatif. Type de l'outil de widget. Si aucun type n'est spécifié, le type par défaut est "CUSTOMIZED" (PERSONNALISÉ).

uiConfig

object (Struct format)

Facultatif. Configuration pour l'affichage du widget.

dataMapping

object (DataMapping)

Facultatif. Mappage qui définit la façon dont les données d'un outil source sont mappées aux paramètres d'entrée du widget.

textResponseConfig

object (TextResponseConfig)

Facultatif. Configuration pour les réponses textuelles toujours incluses.

Champ d'union input. Entrée de l'outil de widget. input ne peut être qu'un des éléments suivants :
parameters

object (Schema)

Facultatif. Paramètres d'entrée de l'outil de widget.

DataMapping

Représentation JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (Mode),
  "pythonScript": string
}
Champs
sourceToolName

string

Facultatif. Nom de ressource de l'outil qui fournit les données du widget (par exemple, un outil de recherche ou une fonction personnalisée). Format : projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Facultatif. Mappage des champs de paramètres d'entrée du widget avec les champs de sortie correspondants de l'outil source.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

pythonFunction

object (PythonFunction)

Facultatif. Configuration d'une fonction Python utilisée pour transformer la sortie de l'outil source au format d'entrée du widget.

mode

enum (Mode)

Facultatif. Mode du mappage de données.

pythonScript
(deprecated)

string

Obsolète : utilisez plutôt python_function.

FieldMappingsEntry

Représentation JSON
{
  "key": string,
  "value": string
}
Champs
key

string

value

string

TextResponseConfig

Représentation JSON
{
  "type": enum (Type),
  "staticText": string,
  "textResponseInstruction": string
}
Champs
type

enum (Type)

Facultatif. Stratégie pour fournir la réponse textuelle.

staticText

string

Facultatif. Réponse texte statique à renvoyer lorsque le type est "STATIC".

textResponseInstruction

string

Facultatif. Instruction pour le LLM sur la façon de générer la réponse textuelle. Utilisé comme description du paramètre de réponse textuelle si le type est LLM_GENERATED.

RemoteAgentTool

Représentation JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  }
}
Champs
name

string

Obligatoire. Nom de l'outil.

description

string

Obligatoire. Description de l'outil.

agentCard

object (AgentCard)

Obligatoire. Fiche de l'agent distant que cet outil appelle.

AgentCard

Représentation JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Champs
name

string

Obligatoire. Nom d'agent lisible par l'humain.

description

string

Obligatoire. Description du domaine d'action/de l'espace de solutions de l'agent.

supportedInterfaces[]

object (AgentInterface)

Obligatoire. Liste ordonnée des interfaces compatibles. La première entrée est privilégiée.

version

string

Obligatoire. Version de l'agent.

skills[]

object (AgentSkill)

Obligatoire. Les compétences représentent une capacité qu'un agent peut effectuer. Cela peut sembler un peu abstrait, mais cela représente un ensemble d'actions plus ciblées que l'agent est très susceptible de réussir.

AgentInterface

Représentation JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Champs
url

string

Obligatoire. URL où cette interface est disponible. Doit être une URL HTTPS absolue valide en production. Exemple : "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Obligatoire. L'association de protocole acceptée à cette URL. Il s'agit d'une chaîne de formulaire ouverte, qui peut être facilement étendue à d'autres liaisons de protocole. Les principaux officiellement acceptés sont JSONRPC, GRPC et HTTP+JSON.

tenant

string

ID de locataire à utiliser dans la requête lors de l'appel de l'agent.

protocolVersion

string

Obligatoire. Version du protocole A2A que cette interface expose. Utilisez la dernière version mineure compatible pour chaque version majeure. Exemples : "0.3", "1.0"

AgentSkill

Représentation JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Champs
id

string

Obligatoire. Identifiant unique de la compétence de l'agent.

name

string

Obligatoire. Nom lisible de la compétence.

description

string

Obligatoire. Description détaillée de la compétence.

tags[]

string

Obligatoire. Ensemble de mots clés décrivant les capacités de la compétence.

examples[]

string

Exemples de requêtes ou de scénarios que cette compétence peut traiter.

inputModes[]

string

Ensemble des types de supports d'entrée acceptés pour cette compétence, qui remplacent les valeurs par défaut de l'agent.

outputModes[]

string

Ensemble des types de supports de sortie acceptés pour cette compétence, qui remplacent les valeurs par défaut de l'agent.

Durée

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Secondes signées de la période. La valeur doit être comprise entre -315 576 000 000 et +315 576 000 000 (inclus). Remarque : Ces limites sont calculées à partir de : 60 s/min * 60 min/h * 24 h/jour * 365,25 jours/an * 10 000 ans.

nanos

integer

Fractions de secondes signées avec une précision de l'ordre de la nanoseconde pour la durée. Les durées inférieures à une seconde sont représentées par un champ seconds égal à 0 et un champ nanos positif ou négatif. Pour les durées d'une seconde ou plus, une valeur non nulle pour le champ nanos doit avoir le même signe que le champ seconds. La valeur doit être comprise entre -999 999 999 et +999 999 999 inclus.

ToolFakeConfig

Représentation JSON
{
  "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.
}
Champs
enableFakeMode

boolean

Facultatif. Indique si l'outil utilise le mode factice.

Champ d'union tool_response. La réponse est statique ou fournie par une fonction Python. tool_response ne peut être qu'un des éléments suivants :
codeBlock

object (CodeBlock)

Facultatif. Bloc de code qui sera exécuté à la place d'un véritable appel d'outil.

CodeBlock

Représentation JSON
{
  "pythonCode": string
}
Champs
pythonCode

string

Obligatoire. Code Python qui sera appelé en mode faux outil. Signature de la fonction Python attendue : pour intercepter tous les appels d'outil : def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: pour intercepter un appel d'outil spécifique : def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: si la fonction renvoie "None", le véritable outil sera appelé à la place.

Type

Types de données OpenAPI.

Enums
TYPE_UNSPECIFIED Type non spécifié
STRING Type de chaîne.
INTEGER Type entier.
NUMBER Type de nombre.
BOOLEAN Type booléen.
OBJECT Type d'objet.
ARRAY Type de tableau.

NullValue

Représente un null JSON.

NullValue est une sentinelle qui utilise une énumération avec une seule valeur pour représenter la valeur nulle de l'union de type Value.

Un champ de type NullValue avec une valeur autre que 0 est considéré comme non valide. La plupart des sérialiseurs ProtoJSON émettent un Value avec un null_value défini comme null JSON, quelle que soit la valeur entière, et effectuent donc un aller-retour vers une valeur 0.

Enums
NULL_VALUE Valeur nulle.

RequestLocation

Emplacement de la clé API dans la requête.

Enums
REQUEST_LOCATION_UNSPECIFIED Non spécifié. Cette valeur ne doit pas être utilisée.
HEADER Représente la clé dans l'en-tête HTTP.
QUERY_STRING Représente la clé dans la chaîne de requête.

OauthGrantType

Types d'attribution OAuth. Seule l'attribution d'identifiants client est acceptée.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Non spécifié. La valeur par défaut est CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Représente le flux d'identifiants client.

OperationType

Opération à effectuer sur l'entité.

Enums
OPERATION_TYPE_UNSPECIFIED Type d'opération non spécifié. Non valide. La création ou la mise à jour de ConnectorTool échouera.
LIST Opération de liste.
GET Obtenir une opération.
CREATE Opération de création.
UPDATE Opération de mise à jour.
DELETE Supprimer une opération.

DataStoreType

Type du data store.

Enums
DATA_STORE_TYPE_UNSPECIFIED Non spécifié. Cette valeur indique que le type de data store n'est pas spécifié. Il ne sera donc pas utilisé lors de la recherche.
PUBLIC_WEB Un data store contenant du contenu Web public.
UNSTRUCTURED Datastore contenant des données privées non structurées.
FAQ Un data store contenant des données structurées utilisées comme questions fréquentes.
CONNECTOR Datastore qui sert de connecteur à un service first party ou tiers.

DocumentProcessingMode

Mode de traitement des documents du data store.

Enums
DOCUMENT_PROCESSING_MODE_UNSPECIFIED Non spécifié.
DOCUMENTS Les documents sont traités en tant que documents.
CHUNKS Les documents sont convertis en blocs.

AttributeType

Attribut(ou fonction) auquel le classement personnalisé doit être appliqué.

Enums
ATTRIBUTE_TYPE_UNSPECIFIED Type d'attribut non spécifié.
NUMERICAL La valeur du champ numérique sera utilisée pour mettre à jour dynamiquement le montant du boost. Dans ce cas, la valeur d'attribut (valeur x) du point de contrôle sera la valeur réelle du champ numérique pour lequel boost_amount est spécifié.
FRESHNESS Dans le cas d'utilisation de la fraîcheur, la valeur de l'attribut correspond à la durée entre l'heure actuelle et la date indiquée dans le champ "datetime". La valeur doit être au format XSD dayTimeDuration (sous-ensemble restreint d'une valeur de durée ISO 8601). Le format est le suivant : [nD][T[nH][nM][nS]]. Par exemple, 5D, 3DT12H30M ou T24H.

InterpolationType

Type d'interpolation à appliquer. La valeur par défaut est "linéaire" (linéaire par morceaux).

Enums
INTERPOLATION_TYPE_UNSPECIFIED Le type d'interpolation n'est pas spécifié. Dans ce cas, la valeur par défaut est "Linéaire".
LINEAR Une interpolation linéaire par morceaux sera appliquée.

ModalityType

Type de modalité.

Enums
MODALITY_TYPE_UNSPECIFIED Type de modalité non spécifié.
TEXT Modalité textuelle.
AUDIO Modalité audio.

FilterParameterBehavior

Comportement des paramètres de filtre.

Enums
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Comportement par défaut du filtre. Incluez le paramètre de filtre pour les data stores de connecteur. Pour les autres types de magasins de données, le paramètre d'entrée du filtre est omis.
ALWAYS_INCLUDE Incluez toujours un paramètre de filtre pour tous les types de data stores.
NEVER_INCLUDE Le paramètre de filtre n'est jamais inclus dans la liste des paramètres d'outil, quel que soit le type de data store.

État

Représente l'état de disponibilité dynamique de l'outil.

Enums
STATE_UNSPECIFIED État par défaut.
ACTIVE L'outil est disponible et proposé activement par le serveur.
INACTIVE L'outil est configuré ou épinglé, mais n'est actuellement pas proposé par le serveur.
STALE L'outil existe sur le serveur, mais ne correspond pas à la version du serveur.

CorpusType

Type de corpus RAG Vertex.

Enums
CORPUS_TYPE_UNSPECIFIED Type de corpus non spécifié.
USER_OWNED Le corpus est créé par l'utilisateur et lui appartient.
FULLY_MANAGED Le corpus est créé par l'agent.

WidgetType

Tous les types de widgets disponibles. De nouvelles valeurs pourront être ajoutées à cette énumération à l'avenir.

Enums
WIDGET_TYPE_UNSPECIFIED Type de widget non spécifié.
CUSTOM Type de widget personnalisé.
PRODUCT_DETAILS Widget d'informations détaillées sur le produit.
QUICK_ACTIONS Widget Actions rapides.
PRODUCT_COMPARISON Widget de comparaison de produits.
ADVANCED_PRODUCT_DETAILS Widget d'informations détaillées avancées sur le produit.
SHORT_FORM Widget de formulaire court.
OVERALL_SATISFACTION Widget de satisfaction globale.
ORDER_SUMMARY Widget de récapitulatif de la commande.
APPOINTMENT_DETAILS Widget de détails du rendez-vous.
APPOINTMENT_SCHEDULER Widget de planification des rendez-vous.
CONTACT_FORM Widget de formulaire de contact.

Mode

Stratégie utilisée pour mapper les données de l'outil source au widget.

Enums
MODE_UNSPECIFIED Mode non spécifié.
FIELD_MAPPING Utilisez la carte field_mappings pour transformer les données.
PYTHON_SCRIPT Utilisez python_script pour transformer les données.

Type

Définit la manière dont la réponse textuelle est produite.

Enums
TYPE_UNSPECIFIED Type non spécifié.
NONE Le LLM décide de manière dynamique s'il doit générer une réponse textuelle en plus du widget en fonction du contexte de la conversation.
LLM_GENERATED Le LLM est explicitement tenu de générer une réponse textuelle.
STATIC Une réponse texte statique prédéfinie est toujours utilisée.

ExecutionType

Type d'exécution de l'outil ou de l'ensemble d'outils.

Enums
EXECUTION_TYPE_UNSPECIFIED Le type d'exécution n'est pas spécifié. Prend la valeur SYNCHRONOUS par défaut s'il n'est pas spécifié.
SYNCHRONOUS L'outil est exécuté de manière synchrone. La session est bloquée jusqu'à ce que l'outil renvoie une réponse.
ASYNCHRONOUS L'outil est exécuté de manière asynchrone. La session se poursuivra pendant l'exécution de l'outil.

Annotations d'outils

Indication de destruction : ✅ | Indication d'idempotence : ❌ | Indication de lecture seule : ❌ | Indication de monde ouvert : ❌