MCP Tools Reference: ces.googleapis.com

Ferramenta: update_tool

Atualiza a ferramenta especificada. Sempre transmita uma máscara de atualização na entrada.

O exemplo a seguir demonstra como usar curl para invocar a ferramenta update_tool MCP.

Solicitação 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": "update_tool",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

Mensagem de solicitação para AgentService.UpdateTool.

UpdateToolRequest

Representação JSON
{
  "tool": {
    object (Tool)
  },
  "updateMask": string
}
Campos
tool

object (Tool)

Obrigatório. A ferramenta a ser atualizada.

updateMask

string (FieldMask format)

Opcional. A máscara de campo é usada para controlar quais campos são atualizados. Se a máscara não estiver presente, todos os campos serão atualizados.

Uma lista separada por vírgulas de nomes de campos totalmente qualificados. Exemplo: "user.displayName,photo".

Ferramenta

Representação 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.
}
Campos
name

string

Identificador. O nome do recurso da ferramenta. Formato:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} para ferramentas independentes.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} para ferramentas recuperadas de um conjunto de ferramentas.

Essas ferramentas são dinâmicas e somente de saída. Elas não podem ser referenciadas diretamente onde uma ferramenta é esperada.

displayName

string

Apenas saída. O nome de exibição da ferramenta, derivado com base no tipo dela. Por exemplo, o nome de exibição de uma [ClientFunction][Tool.ClientFunction] é derivado da propriedade name.

executionType

enum (ExecutionType)

Opcional. O tipo de execução da ferramenta.

timeout

string (Duration format)

Opcional. O tempo limite para a execução da ferramenta. Se não for definido, o tempo limite padrão será de 30 segundos para ferramentas SYNCHRONOUS e 60 segundos para ferramentas ASYNCHRONOUS.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

createTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora em que a ferramenta foi criada.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora da última atualização da ferramenta.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

etag

string

Etag usada para garantir que o objeto não mudou durante uma operação de leitura-modificação-gravação. Se a ETag estiver vazia, a atualização vai substituir todas as mudanças simultâneas.

generatedSummary

string

Apenas saída. Se a ferramenta for gerada pelo assistente de LLM, esse campo vai conter um resumo descritivo da geração.

toolFakeConfig

object (ToolFakeConfig)

Opcional. Configuração para o comportamento da ferramenta no modo simulado.

Campo de união tool_type. O tipo da ferramenta. tool_type pode ser apenas de um dos tipos a seguir:
clientFunction

object (ClientFunction)

Opcional. A função do cliente.

openApiTool

object (OpenApiTool)

Opcional. A ferramenta de API aberta.

googleSearchTool

object (GoogleSearchTool)

Opcional. A ferramenta Pesquisa Google.

connectorTool

object (ConnectorTool)

Opcional. A ferramenta Integration Connectors.

dataStoreTool

object (DataStoreTool)

Opcional. A ferramenta de repositório de dados.

pythonFunction

object (PythonFunction)

Opcional. A ferramenta de função Python.

mcpTool

object (McpTool)

Opcional. A ferramenta MCP. Uma ferramenta do MCP não pode ser criada ou atualizada diretamente e é gerenciada pelo conjunto de ferramentas do MCP.

fileSearchTool

object (FileSearchTool)

Opcional. A ferramenta de pesquisa de arquivos.

systemTool

object (SystemTool)

Opcional. A ferramenta do sistema.

agentTool

object (AgentTool)

Opcional. A ferramenta do agente.

widgetTool

object (WidgetTool)

Opcional. A ferramenta de widget.

remoteAgentTool

object (RemoteAgentTool)

Opcional. A ferramenta de agente remoto.

ClientFunction

Representação JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Campos
name

string

Obrigatório. O nome da função.

description

string

Opcional. A descrição da função.

parameters

object (Schema)

Opcional. O esquema dos parâmetros da função.

response

object (Schema)

Opcional. O esquema da resposta da função.

Esquema

Representação 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.
}
Campos
type

enum (Type)

Obrigatório. O tipo dos dados.

properties

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

Opcional. Propriedades de Type.OBJECT.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Opcional. Propriedades obrigatórias de Type.OBJECT.

description

string

Opcional. A descrição dos dados.

items

object (Schema)

Opcional. Esquema dos elementos de Type.ARRAY.

nullable

boolean

Opcional. Indica se o valor pode ser nulo.

uniqueItems

boolean

Opcional. Indica que os itens na matriz precisam ser exclusivos. Aplicável apenas a TYPE.ARRAY.

prefixItems[]

object (Schema)

Opcional. Esquemas de elementos iniciais de Type.ARRAY.

additionalProperties

object (Schema)

Opcional. Pode ser um booleano ou um objeto e controla a presença de propriedades adicionais.

anyOf[]

object (Schema)

Opcional. O valor precisa ser validado em relação a qualquer um (um ou mais) dos subesquemas na lista.

enum[]

string

Opcional. Valores possíveis do elemento de tipo primitivo com formato de enumeração. Exemplos: 1. Podemos definir a direção como : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Podemos definir o número do apartamento como : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Opcional. Valor padrão dos dados.

ref

string

Opcional. Permite referências indiretas entre nós de esquema. O valor precisa ser uma referência válida a um filho do defs raiz.

Por exemplo, o esquema a seguir define uma referência a um nó de esquema chamado "Pet":

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

O valor da propriedade "pet" é uma referência ao nó do esquema chamado "Pet". Confira detalhes em https://json-schema.org/understanding-json-schema/structuring (em inglês).

defs

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

Opcional. Um mapa de definições para uso por ref. Permitido apenas na raiz do esquema.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Opcional. O título do esquema.

minItems

string (int64 format)

Opcional. Número mínimo de elementos para Type.ARRAY.

maxItems

string (int64 format)

Opcional. Número máximo de elementos para Type.ARRAY.

Campo de união _minimum.

_minimum pode ser apenas de um dos tipos a seguir:

minimum

number

Opcional. Valor mínimo para Type.INTEGER e Type.NUMBER.

Campo de união _maximum.

_maximum pode ser apenas de um dos tipos a seguir:

maximum

number

Opcional. Valor máximo para Type.INTEGER e Type.NUMBER.

PropertiesEntry

Representação JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

Valor

Representação 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.
}
Campos
Campo de união kind. O tipo de valor. kind pode ser apenas de um dos tipos a seguir:
nullValue

null

Representa um null JSON.

numberValue

number

Representa um número JSON. Não pode ser NaN, Infinity ou -Infinity, porque esses valores não são compatíveis com JSON. Isso também não pode representar valores Int64 grandes, já que o formato JSON geralmente não os aceita no tipo de número.

stringValue

string

Representa uma string JSON.

boolValue

boolean

Representa um booleano JSON (literal true ou false em JSON).

structValue

object (Struct format)

Representa um objeto JSON.

listValue

array (ListValue format)

Representa uma matriz JSON.

Struct

Representação JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

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

Mapa não ordenado de valores com tipagem dinâmica.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representação JSON
{
  "key": string,
  "value": value
}
Campos
key

string

value

value (Value format)

ListValue

Representação JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Campo repetido de valores digitados dinamicamente.

DefsEntry

Representação JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

OpenApiTool

Representação JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Campos
openApiSchema

string

Obrigatório. O esquema OpenAPI no formato JSON ou YAML.

name

string

Opcional. O nome da ferramenta. Se não for fornecido, o nome da ferramenta será derivado do esquema OpenAPI, de operation.operationId.

description

string

Opcional. A descrição da ferramenta. Se não for fornecida, a descrição da ferramenta será derivada do esquema OpenAPI, de operation.description ou operation.summary.

apiAuthentication

object (ApiAuthentication)

Opcional. Informações de autenticação exigidas pela API.

tlsConfig

object (TlsConfig)

Opcional. A configuração de TLS. Inclui os certificados de servidor personalizados em que o cliente vai confiar.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opcional. Configuração do Diretório de serviços.

ignoreUnknownFields

boolean

Opcional. Se for verdadeiro, o agente vai ignorar campos desconhecidos na resposta da API.

url

string

Opcional. O URL do servidor do esquema da API aberta. Esse campo só é definido em ferramentas nas dependências do ambiente durante o processo de exportação se o esquema contiver um URL do servidor. Durante o processo de importação, se esse URL estiver presente nas dependências do ambiente e o esquema tiver o marcador de posição $env_var, ele vai substituir o marcador no esquema.

ApiAuthentication

Representação 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.
}
Campos
Campo de união auth_config. A configuração de autenticação. auth_config pode ser apenas de um dos tipos a seguir:
apiKeyConfig

object (ApiKeyConfig)

Opcional. Configuração para autenticação de chave de API.

oauthConfig

object (OAuthConfig)

Opcional. Configuração para OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Opcional. Configuração para autenticação de token de ID gerada pelo agente de serviço do CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Opcional. Configuração para autenticação de conta de serviço.

bearerTokenConfig

object (BearerTokenConfig)

Opcional. Configuração para autenticação de token do portador.

ApiKeyConfig

Representação JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Campos
keyName

string

Obrigatório. O nome do parâmetro ou do cabeçalho da chave de API. Por exemplo, Se a solicitação de API for "https://example.com/act?X-Api-Key=", "X-Api-Key" será o nome do parâmetro.

apiKeySecretVersion

string

Obrigatório. O nome do recurso da versão do secret do Secret Manager que armazena a chave de API. Formato: projects/{project}/secrets/{secret}/versions/{version}

Observação: conceda o papel roles/secretmanager.secretAccessor ao agente de serviço do CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Obrigatório. Local da chave na solicitação.

OAuthConfig

Representação JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Campos
oauthGrantType

enum (OauthGrantType)

Obrigatório. Tipos de concessão do OAuth.

clientId

string

Obrigatório. O ID do cliente do provedor OAuth.

clientSecretVersion

string

Obrigatório. O nome do recurso da versão do secret do Secret Manager que armazena a chave secreta do cliente. Formato: projects/{project}/secrets/{secret}/versions/{version}

Observação: conceda o papel roles/secretmanager.secretAccessor ao agente de serviço do CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obrigatório. O endpoint de token no provedor OAuth para troca por um token de acesso.

scopes[]

string

Opcional. Os escopos do OAuth a serem concedidos.

ServiceAccountAuthConfig

Representação JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Campos
serviceAccount

string

Obrigatório. O endereço de e-mail da conta de serviço usada para autenticação. O CES usa essa conta de serviço para trocar um token de acesso, que é enviado no cabeçalho Authorization da solicitação.

A conta de serviço precisa ter o papel roles/iam.serviceAccountTokenCreator concedido ao agente de serviço do CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Opcional. Os escopos do OAuth a serem concedidos. Se não for especificado, o escopo padrão https://www.googleapis.com/auth/cloud-platform será usado.

BearerTokenConfig

Representação JSON
{
  "token": string
}
Campos
token

string

Obrigatório. O token do portador. Precisa estar no formato $context.variables.<name_of_variable>.

TlsConfig

Representação JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Campos
caCerts[]

object (CaCert)

Obrigatório. Especifica uma lista de certificados de CA personalizados permitidos para verificação HTTPS.

CaCert

Representação JSON
{
  "displayName": string,
  "cert": string
}
Campos
displayName

string

Obrigatório. O nome dos certificados de CA personalizados permitidos. Isso pode ser usado para eliminar a ambiguidade dos certificados de CA personalizados.

cert

string (bytes format)

Obrigatório. Os certificados de CA personalizados permitidos (no formato DER) para verificação HTTPS. Isso substitui o repositório de confiança SSL padrão. Se estiver vazio ou não especificado, o CES vai usar o repositório de confiança padrão do Google para verificar certificados. Observação: verifique se os certificados do servidor HTTPS estão assinados com "subject alt name". Por exemplo, um certificado pode ser autoassinado usando o seguinte comando:

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

Uma string codificada em base64.

ServiceDirectoryConfig

Representação JSON
{
  "service": string
}
Campos
service

string

Obrigatório. O nome do serviço do Diretório de serviços. Formato: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. O local do diretório de serviços precisa ser o mesmo do app.

GoogleSearchTool

Representação JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
Campos
name

string

Obrigatório. O nome da ferramenta.

description

string

Opcional. Descrição da finalidade da ferramenta.

contextUrls[]

string

Opcional. O conteúdo será buscado diretamente desses URLs para contexto e embasamento. Exemplo: "https://example.com/path.html". São permitidos no máximo 20 URLs.

preferredDomains[]

string

Opcional. Especifica os domínios em que os resultados da pesquisa serão restritos. Exemplo: "example.com", "another.site". É possível especificar no máximo 20 domínios.

excludeDomains[]

string

Opcional. Lista de domínios a serem excluídos dos resultados da pesquisa. Exemplo: "example.com". É possível excluir no máximo 2.000 domínios.

promptConfig

object (PromptConfig)

Opcional. Instruções de comando transmitidas ao planejador sobre como os resultados da pesquisa devem ser processados para texto e voz.

PromptConfig

Representação JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Campos
textPrompt

string

Opcional. Define o comando usado para as instruções do sistema ao interagir com o agente em conversas por chat. Se não for definido, o comando padrão será usado.

voicePrompt

string

Opcional. Define o comando usado para as instruções do sistema ao interagir com o agente em conversas por voz. Se não for definido, o comando padrão será usado.

ConnectorTool

Representação JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Campos
connection

string

Obrigatório. O nome completo do recurso da conexão referenciada do Integration Connectors. Formato: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Obrigatório. Ação que a ferramenta vai usar.

authConfig

object (EndUserAuthConfig)

Opcional. Configura como a autenticação é processada nos Integration Connectors. Por padrão, uma autenticação de administrador é transmitida nas solicitações da API Integration Connectors. É possível substituir essa configuração com outra de autenticação do usuário final. Observação: a conexão precisa ter a substituição de autenticação ativada para especificar uma configuração de EUC aqui. Caso contrário, a criação do ConnectorTool vai falhar. Consulte https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override para mais detalhes.

name

string

Opcional. O nome da ferramenta que pode ser usada pelo agente para decidir se vai chamar esse ConnectorTool.

description

string

Opcional. A descrição da ferramenta que pode ser usada pelo agente para decidir se deve chamar esse ConnectorTool.

Ação

Representação 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.
}
Campos
inputFields[]

string

Opcional. Campos de entidade a serem usados como entradas para a operação. Se nenhum campo for especificado, todos os campos da entidade serão usados.

outputFields[]

string

Opcional. Campos de entidade a serem retornados da operação. Se nenhum campo for especificado, todos os campos da entidade serão retornados.

Campo de união action_spec. Especificação de uma ação a ser configurada para uso da ferramenta. action_spec pode ser apenas de um dos tipos a seguir:
connectionActionId

string

ID de uma ação de conexão para a ferramenta usar.

entityOperation

object (EntityOperation)

Configuração de operação de entidade para a ferramenta usar.

EntityOperation

Representação JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Campos
entityId

string

Obrigatório. ID da entidade.

operation

enum (OperationType)

Obrigatório. Operação a ser realizada na entidade.

EndUserAuthConfig

Representação 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.
}
Campos
Campo de união auth_config. A configuração de autenticação. auth_config pode ser apenas de um dos tipos a seguir:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Autenticação de código de autorização do OAuth 2.0.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Autenticação de concessão de autorização OAuth 2.0 do perfil JWT.

Oauth2AuthCodeConfig

Representação JSON
{
  "oauthToken": string
}
Campos
oauthToken

string

Obrigatório. Nome do parâmetro do token OAuth a ser transmitido. Precisa estar no formato $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Representação JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Campos
issuer

string

Obrigatório. Nome do parâmetro do emissor a ser transmitido. Precisa estar no formato $context.variables.<name_of_variable>.

subject

string

Obrigatório. Nome do parâmetro de assunto a ser transmitido. Precisa estar no formato $context.variables.<name_of_variable>.

clientKey

string

Obrigatório. Nome do parâmetro do cliente a ser transmitido. Precisa estar no formato $context.variables.<name_of_variable>.

DataStoreTool

Representação 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.
}
Campos
name

string

Obrigatório. O nome da ferramenta do repositório de dados.

description

string

Opcional. A descrição da ferramenta.

boostSpecs[]

object (BoostSpecs)

Opcional. Otimizar a especificação para otimizar determinados documentos.

modalityConfigs[]

object (ModalityConfig)

Opcional. As configurações de modalidade do repositório de dados.

filterParameterBehavior

enum (FilterParameterBehavior)

Opcional. O comportamento do parâmetro de filtro.

Campo de união search_source. Define a origem da pesquisa, seja um único DataStore ou um mecanismo. search_source pode ser apenas de um dos tipos a seguir:
dataStoreSource

object (DataStoreSource)

Opcional. Pesquise em um único DataStore específico.

engineSource

object (EngineSource)

Opcional. Pesquise em um mecanismo (potencialmente em vários DataStores).

DataStoreSource

Representação JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Campos
filter

string

Opcional. Especificação de filtro para o DataStore. Consulte: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Opcional. O repositório de dados.

DataStore

Representação JSON
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
Campos
name

string

Obrigatório. Nome completo do recurso do DataStore. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

Apenas saída. O tipo do repositório de dados. Este campo é somente leitura e preenchido pelo servidor.

documentProcessingMode

enum (DocumentProcessingMode)

Apenas saída. O modo de processamento de documentos para a conexão do repositório de dados. Definido apenas para repositórios de dados PUBLIC_WEB e UNSTRUCTURED.

displayName

string

Apenas saída. O nome de exibição do repositório de dados.

createTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora em que o repositório de dados foi criado.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

connectorConfig

object (ConnectorConfig)

Apenas saída. A configuração do conector para a conexão do repositório de dados.

Carimbo de data/hora

Representação JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799 (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z).

nanos

integer

Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa ser de 0 a 999.999.999 (inclusive).

ConnectorConfig

Representação JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Campos
collection

string

Nome do recurso da coleção a que o repositório de dados pertence.

collectionDisplayName

string

Nome de exibição da coleção a que o repositório de dados pertence.

dataSource

string

O nome da fonte de dados. Exemplo: salesforce, jira, confluence, bigquery.

EngineSource

Representação JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
Campos
engine

string

Obrigatório. Nome completo do recurso do mecanismo. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

Opcional. Usado para segmentar DataStores específicos no Engine. Se estiver vazio, a pesquisa será aplicada a todos os DataStores associados ao mecanismo.

filter

string

Opcional. Um filtro aplicado à pesquisa no mecanismo. Não é relevante nem usado se "data_store_sources" for fornecido. Consulte: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

Representação JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
Campos
dataStores[]

string

Obrigatório. O repositório de dados em que a configuração de reforço é aplicada. Nome completo do recurso do DataStore, como projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (BoostSpec)

Obrigatório. Uma lista de especificações de reforço.

BoostSpec

Representação JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Campos
conditionBoostSpecs[]

object (ConditionBoostSpec)

Obrigatório. Uma lista de especificações de reforço.

ConditionBoostSpec

Representação JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Campos
condition

string

Obrigatório. Uma expressão que especifica uma condição de reforço. A sintaxe é a mesma da expressão de filtro. No momento, a única condição aceita é uma lista de códigos de idioma BCP-47. Exemplo: para aumentar as sugestões nos idiomas inglês ou francês: (lang_code: ANY("en", "fr"))

boost

number

Opcional. Intensidade da otimização, que precisa estar em [-1, 1]. Reforço negativo significa rebaixamento. O padrão é 0,0.

Definir como 1.0 dá uma grande promoção às sugestões. No entanto, isso não significa necessariamente que o resultado principal será uma sugestão otimizada.

Definir como -1,0 dá às sugestões um grande rebaixamento. No entanto, outras sugestões relevantes ainda podem aparecer.

Definir como 0,0 significa que não há otimização aplicada. A condição de reforço é ignorada.

boostControlSpec

object (BoostControlSpec)

Opcional. Especificação complexa para classificação personalizada com base no valor do atributo definido pelo cliente.

BoostControlSpec

Representação JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campos
fieldName

string

Opcional. O nome do campo cujo valor será usado para determinar o valor do reforço.

attributeType

enum (AttributeType)

Opcional. O tipo de atributo a ser usado para determinar o valor do reforço. O valor do atributo pode ser derivado do valor do campo do field_name especificado. No caso de valores numéricos, é simples: attribute_value = numerical_field_value. No caso da atualização, attribute_value = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Opcional. O tipo de interpolação a ser aplicado para conectar os pontos de controle listados abaixo.

controlPoints[]

object (ControlPoint)

Opcional. Os pontos de controle usados para definir a curva. A função monotônica (definida pelo interpolation_type acima) passa pelos pontos de controle listados aqui.

ControlPoint

Representação JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

Opcional. Pode ser um dos seguintes: 1. O valor do campo numérico. 2. A especificação de duração para atualização. O valor precisa ser formatado como um valor dayTimeDuration XSD (um subconjunto restrito de um valor de duração ISO 8601). O padrão é: [nD][T[nH][nM][nS]].

boostAmount

number

Opcional. O valor entre -1 e 1 pelo qual aumentar a pontuação se o atributo "attribute_value" for avaliado como o valor especificado acima.

ModalityConfig

Representação JSON
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "snippetsConfig": {
    object (SnippetsConfig)
  }
}
Campos
modalityType

enum (ModalityType)

Obrigatório. O tipo de modalidade.

rewriterConfig

object (RewriterConfig)

Opcional. A configuração do rewriter.

summarizationConfig

object (SummarizationConfig)

Opcional. A configuração de resumo.

groundingConfig

object (GroundingConfig)

Opcional. A configuração de embasamento.

snippetsConfig

object (SnippetsConfig)

Opcional. A configuração de snippets.

RewriterConfig

Representação JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Obrigatório. Configurações do modelo de LLM.

prompt

string

Opcional. A definição do comando. Se não for definido, o comando padrão será usado.

disabled

boolean

Opcional. Se o rewriter está desativado.

ModelSettings

Representação 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.
}
Campos
model

string

Opcional. O modelo de LLM que o agente deve usar. Se não estiver definido, o agente vai herdar o modelo do agente pai.

Campo de união _temperature.

_temperature pode ser apenas de um dos tipos a seguir:

temperature

number

Opcional. Se definido, essa temperatura será usada para o modelo LLM. A temperatura controla a aleatoriedade das respostas do modelo. Temperaturas mais baixas produzem respostas mais previsíveis. Temperaturas mais altas produzem respostas mais criativas.

SummarizationConfig

Representação JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Opcional. Configurações do modelo de LLM.

prompt

string

Opcional. A definição do comando. Se não for definido, o comando padrão será usado.

disabled

boolean

Opcional. Se o resumo está desativado.

GroundingConfig

Representação JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Campos
groundingLevel

number

Opcional. O limite de embasamento da resposta com base nas fontes recuperadas. O valor tem um intervalo configurável de [1, 5]. O nível é usado para definir o limite da fundamentação da resposta. Isso significa que todas as respostas com uma pontuação de fundamentação abaixo do limite vão retornar apenas snippets relevantes.

Por exemplo, um nível 3 significa que a pontuação de embasamento precisa ser 3 ou mais para que a resposta seja retornada.

disabled

boolean

Opcional. Se o embasamento está desativado.

SnippetsConfig

Representação JSON
{
  "enableSnippets": boolean
}
Campos
enableSnippets

boolean

Opcional. Indica se os snippets estão ativados.

PythonFunction

Representação JSON
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Campos
name

string

Opcional. O nome da função Python a ser executada. Precisa corresponder a um nome de função Python definido no código Python. Diferencia maiúsculas de minúsculas. Se o nome não for fornecido, a primeira função definida no código Python será usada.

pythonCode

string

Opcional. O código Python a ser executado para a ferramenta.

description

string

Apenas saída. A descrição da função Python, analisada da docstring do código Python.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opcional. Configuração do Diretório de serviços para a ferramenta.

McpTool

Representação 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)
}
Campos
name

string

Obrigatório. O nome da ferramenta do MCP.

nameOverride

string

Opcional. A substituição do nome da ferramenta MCP. Esse campo é preenchido se o nome foi substituído por uma substituição do Toolset.

description

string

Opcional. A descrição da ferramenta MCP.

inputSchema

object (Schema)

Opcional. O esquema dos argumentos de entrada da ferramenta MCP.

outputSchema

object (Schema)

Opcional. O esquema dos argumentos de saída da ferramenta MCP.

serverAddress

string

Obrigatório. O endereço do servidor MCP, por exemplo, "https://example.com/mcp/". Se o servidor for criado com o SDK do MCP, o URL vai ter o sufixo "/mcp/". Somente servidores baseados em transporte HTTP de streaming são compatíveis. É o mesmo que "server_address" em McpToolset. Consulte https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http para mais detalhes.

apiAuthentication

object (ApiAuthentication)

Opcional. Informações de autenticação necessárias para executar a ferramenta no servidor MCP. Para autenticação de token de portador, o token se aplica apenas à execução da ferramenta, não à listagem de ferramentas. Isso exige que as ferramentas possam ser listadas sem autenticação.

tlsConfig

object (TlsConfig)

Opcional. A configuração de TLS. Inclui os certificados de servidor personalizados em que o cliente deve confiar.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opcional. Configuração do Diretório de serviços para VPC-SC, usada para resolver nomes de serviços em um perímetro.

customHeaders

map (key: string, value: string)

Opcional. Os cabeçalhos personalizados a serem enviados na solicitação ao servidor MCP. Os valores precisam estar no formato $context.variables.<name_of_variable> e podem ser definidos nas variáveis de sessão. Consulte https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection para mais detalhes.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (State)

Apenas saída. O estado de disponibilidade dinâmica da ferramenta no servidor externo.

CustomHeadersEntry

Representação JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

FileSearchTool

Representação JSON
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Campos
corpusType

enum (CorpusType)

Opcional. O tipo de corpus. O padrão é FULLY_MANAGED.

name

string

Obrigatório. O nome da ferramenta.

description

string

Opcional. A descrição da ferramenta.

fileCorpus

string

Opcional. O corpus em que os arquivos são armazenados. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

Representação JSON
{
  "name": string,
  "description": string
}
Campos
name

string

Obrigatório. O nome da ferramenta do sistema.

description

string

Apenas saída. A descrição da ferramenta do sistema.

AgentTool

Representação JSON
{
  "name": string,
  "description": string,
  "agent": string
}
Campos
name

string

Obrigatório. O nome da ferramenta do agente.

description

string

Opcional. Descrição da finalidade da ferramenta.

agent

string

Opcional. O nome do recurso do agente que é o ponto de entrada da ferramenta. Formato: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Representação 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.
}
Campos
name

string

Obrigatório. O nome de exibição da ferramenta de widget.

description

string

Opcional. A descrição da ferramenta de widget.

widgetType

enum (WidgetType)

Opcional. O tipo da ferramenta de widget. Se não for especificado, o tipo padrão será "CUSTOMIZED".

uiConfig

object (Struct format)

Opcional. Configuração para renderizar o widget.

dataMapping

object (DataMapping)

Opcional. O mapeamento que define como os dados de uma ferramenta de origem são mapeados para os parâmetros de entrada do widget.

textResponseConfig

object (TextResponseConfig)

Opcional. Configuração para respostas de texto sempre incluídas.

Campo de união input. A entrada da ferramenta de widget. input pode ser apenas de um dos tipos a seguir:
parameters

object (Schema)

Opcional. Os parâmetros de entrada da ferramenta de widget.

DataMapping

Representação JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (Mode),
  "pythonScript": string
}
Campos
sourceToolName

string

Opcional. O nome do recurso da ferramenta que fornece os dados para o widget (por exemplo, uma ferramenta de pesquisa ou uma função personalizada). Formato: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Opcional. Um mapa de campos de parâmetros de entrada de widget para os campos de saída correspondentes da ferramenta de origem.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

pythonFunction

object (PythonFunction)

Opcional. Configuração de uma função Python usada para transformar a saída da ferramenta de origem no formato de entrada do widget.

mode

enum (Mode)

Opcional. O modo do mapeamento de dados.

pythonScript
(deprecated)

string

Descontinuado: use python_function.

FieldMappingsEntry

Representação JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

TextResponseConfig

Representação JSON
{
  "type": enum (Type),
  "staticText": string,
  "textResponseInstruction": string
}
Campos
type

enum (Type)

Opcional. A estratégia para fornecer a resposta de texto.

staticText

string

Opcional. A resposta de texto estático a ser retornada quando o tipo é "STATIC".

textResponseInstruction

string

Opcional. Instrução para o LLM sobre como gerar a resposta de texto. Usado como a descrição do parâmetro de resposta de texto se o tipo for LLM_GENERATED.

RemoteAgentTool

Representação JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  }
}
Campos
name

string

Obrigatório. O nome da ferramenta.

description

string

Obrigatório. A descrição da ferramenta.

agentCard

object (AgentCard)

Obrigatório. O card do agente remoto que essa ferramenta invoca.

AgentCard

Representação JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Campos
name

string

Obrigatório. Um nome do agente legível por humanos.

description

string

Obrigatório. Uma descrição do domínio de ação/espaço de solução do agente.

supportedInterfaces[]

object (AgentInterface)

Obrigatório. Lista ordenada de interfaces compatíveis. A primeira entrada é a preferida.

version

string

Obrigatório. A versão do agente.

skills[]

object (AgentSkill)

Obrigatório. As habilidades representam uma unidade de capacidade que um agente pode realizar. Isso pode ser um pouco abstrato, mas representa um conjunto mais focado de ações que o agente tem grande probabilidade de realizar com sucesso.

AgentInterface

Representação JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Campos
url

string

Obrigatório. O URL em que essa interface está disponível. Precisa ser um URL HTTPS absoluto válido em produção. Exemplo: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Obrigatório. A vinculação de protocolo compatível com este URL. Essa é uma string de formulário aberto, que pode ser facilmente estendida para outras vinculações de protocolo. Os principais com suporte oficial são JSONRPC, GRPC e HTTP+JSON.

tenant

string

ID do locatário a ser usado na solicitação ao chamar o agente.

protocolVersion

string

Obrigatório. A versão do protocolo A2A que essa interface expõe. Use a versão secundária mais recente compatível por versão principal. Exemplos: "0.3", "1.0"

AgentSkill

Representação JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Campos
id

string

Obrigatório. Um identificador exclusivo da habilidade do agente.

name

string

Obrigatório. Um nome legível para a habilidade.

description

string

Obrigatório. Uma descrição detalhada da habilidade.

tags[]

string

Obrigatório. Um conjunto de palavras-chave que descrevem os recursos da skill.

examples[]

string

Exemplos de comandos ou cenários que essa habilidade pode processar.

inputModes[]

string

O conjunto de tipos de mídia de entrada compatíveis com essa habilidade, substituindo os padrões do agente.

outputModes[]

string

O conjunto de tipos de mídia de saída compatíveis com essa habilidade, substituindo os padrões do agente.

Duração

Representação JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Segundos assinados do período. Precisa estar entre -315.576.000.000 e +315.576.000.000 (inclusive). Observação: esses limites são calculados com base em: 60 s/min * 60 min/h * 24 h/dia * 365,25 dias/ano * 10.000 anos

nanos

integer

Frações assinadas de um segundo com resolução de nanossegundos do período. Durações menores que um segundo são representadas com um campo seconds 0 e um campo nanos positivo ou negativo. Para durações de um segundo ou mais, um valor diferente de zero para o campo nanos precisa ter o mesmo sinal do campo seconds. Precisa estar entre -999.999.999 e +999.999.999 (inclusive).

ToolFakeConfig

Representação 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.
}
Campos
enableFakeMode

boolean

Opcional. Indica se a ferramenta está usando o modo simulado.

Campo de união tool_response. A resposta é estática ou fornecida por uma função Python. tool_response pode ser apenas de um dos tipos a seguir:
codeBlock

object (CodeBlock)

Opcional. Bloco de código que será executado em vez de uma chamada de ferramenta real.

CodeBlock

Representação JSON
{
  "pythonCode": string
}
Campos
pythonCode

string

Obrigatório. Código Python que será invocado no modo falso da ferramenta. Assinatura esperada da função Python: para capturar todas as chamadas de ferramenta: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: para capturar uma chamada de ferramenta específica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: se a função retornar "None", a ferramenta real será invocada.

FieldMask

Representação JSON
{
  "paths": [
    string
  ]
}
Campos
paths[]

string

O conjunto de caminhos de máscara de campo.

Tipo

Tipos de dados da OpenAPI.

Tipos enumerados
TYPE_UNSPECIFIED Tipo não especificado.
STRING Tipo de string.
INTEGER Tipo inteiro.
NUMBER Tipo de número.
BOOLEAN Tipo booleano.
OBJECT Tipo de objeto.
ARRAY Tipo de matriz.

NullValue

Representa um null JSON.

NullValue é um sentinela que usa uma enumeração com apenas um valor para representar o valor nulo da união de tipos Value.

Um campo do tipo NullValue com qualquer valor diferente de 0 é considerado inválido. A maioria dos serializadores ProtoJSON vai emitir um Value com um null_value definido como um null JSON, independente do valor inteiro, e, portanto, fará uma viagem de ida e volta para um valor 0.

Tipos enumerados
NULL_VALUE Valor nulo.

RequestLocation

O local da chave de API na solicitação.

Tipos enumerados
REQUEST_LOCATION_UNSPECIFIED Não especificado. Esse valor não deve ser usado.
HEADER Representa a chave no cabeçalho HTTP.
QUERY_STRING Representa a chave na string de consulta.

OauthGrantType

Tipos de concessão do OAuth. Somente a concessão de credenciais do cliente é compatível.

Tipos enumerados
OAUTH_GRANT_TYPE_UNSPECIFIED Não especificado. O padrão é CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Representa o fluxo de credenciais do cliente.

OperationType

A operação a ser realizada na entidade.

Tipos enumerados
OPERATION_TYPE_UNSPECIFIED Tipo de operação não especificado. Inválido. A criação/atualização de ConnectorTool vai falhar.
LIST Operação de listagem.
GET Receber operação.
CREATE Criar operação.
UPDATE Operação de atualização.
DELETE Operação de exclusão.

DataStoreType

O tipo do repositório de dados.

Tipos enumerados
DATA_STORE_TYPE_UNSPECIFIED Não especificado. Esse valor indica que o tipo de repositório de dados não foi especificado e, portanto, não será usado durante a pesquisa.
PUBLIC_WEB Um repositório de dados que contém conteúdo da Web público.
UNSTRUCTURED Um repositório de dados que contém dados particulares não estruturados.
FAQ Um repositório de dados que contém dados estruturados usados como perguntas frequentes.
CONNECTOR Um repositório de dados que é um conector para um serviço próprio ou de terceiros.

DocumentProcessingMode

O modo de processamento de documentos do repositório de dados.

Tipos enumerados
DOCUMENT_PROCESSING_MODE_UNSPECIFIED Não especificado.
DOCUMENTS Os documentos são processados como documentos.
CHUNKS Os documentos são convertidos em partes.

AttributeType

O atributo(ou função) a que a classificação personalizada será aplicada.

Tipos enumerados
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType não especificado.
NUMERICAL O valor do campo numérico será usado para atualizar dinamicamente o valor do reforço. Nesse caso, o attribute_value (o valor x) do ponto de controle será o valor real do campo numérico para o qual o boost_amount é especificado.
FRESHNESS Para o caso de uso de atualização, o valor do atributo será a duração entre a hora atual e a data no campo de data e hora especificado. O valor precisa ser formatado como um valor dayTimeDuration XSD (um subconjunto restrito de um valor de duração ISO 8601). O padrão é: [nD][T[nH][nM][nS]]. Por exemplo: 5D, 3DT12H30M, T24H.

InterpolationType

O tipo de interpolação a ser aplicado. O padrão é linear (linear por partes).

Tipos enumerados
INTERPOLATION_TYPE_UNSPECIFIED O tipo de interpolação não foi especificado. Nesse caso, o padrão é "Linear".
LINEAR A interpolação linear por partes será aplicada.

ModalityType

O tipo de modalidade.

Tipos enumerados
MODALITY_TYPE_UNSPECIFIED Tipo de modalidade não especificado.
TEXT Modalidade de texto.
AUDIO Modalidade de áudio.

FilterParameterBehavior

Comportamento do parâmetro de filtro.

Tipos enumerados
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Comportamento padrão do filtro. Inclua o filtro de inclusão para repositórios de dados do conector. Para os outros tipos de armazenamento de dados, o parâmetro de entrada do filtro é omitido.
ALWAYS_INCLUDE Sempre inclua o parâmetro de filtro para todos os tipos de armazenamento de dados.
NEVER_INCLUDE O parâmetro de filtro nunca é incluído na lista de parâmetros da ferramenta, seja qual for o tipo de armazenamento de dados.

Estado

Representa o estado de disponibilidade dinâmica da ferramenta.

Tipos enumerados
STATE_UNSPECIFIED Estado padrão.
ACTIVE A ferramenta está disponível e é oferecida ativamente pelo servidor.
INACTIVE A ferramenta está configurada ou fixada, mas não é oferecida pelo servidor no momento.
STALE A ferramenta existe no servidor, mas não corresponde à versão dele.

CorpusType

O tipo do corpus de RAG da Vertex.

Tipos enumerados
CORPUS_TYPE_UNSPECIFIED Tipo de corpus não especificado.
USER_OWNED O corpus é criado e pertence ao usuário.
FULLY_MANAGED O corpus é criado pelo agente.

WidgetType

Todos os tipos de widgets disponíveis. Novos valores podem ser adicionados a essa enumeração no futuro.

Tipos enumerados
WIDGET_TYPE_UNSPECIFIED Tipo de widget não especificado.
CUSTOM Tipo de widget personalizado.
PRODUCT_DETAILS Widget de detalhes do produto.
QUICK_ACTIONS Widget Ações rápidas.
PRODUCT_COMPARISON Widget de comparação de produtos.
ADVANCED_PRODUCT_DETAILS Widget de detalhes avançados do produto.
SHORT_FORM Widget de formato curto.
OVERALL_SATISFACTION Widget de satisfação geral.
ORDER_SUMMARY Widget de resumo do pedido.
APPOINTMENT_DETAILS Widget de detalhes do horário.
APPOINTMENT_SCHEDULER Widget de agendamento de horários.
CONTACT_FORM Widget de formulário de contato.

Modo

A estratégia usada para mapear dados da ferramenta de origem para o widget.

Tipos enumerados
MODE_UNSPECIFIED Modo não especificado.
FIELD_MAPPING Use o mapa field_mappings para transformação de dados.
PYTHON_SCRIPT Use o python_script para transformação de dados.

Tipo

Define como a resposta de texto é produzida.

Tipos enumerados
TYPE_UNSPECIFIED Tipo não especificado.
NONE O LLM decide dinamicamente se vai gerar uma resposta de texto ao lado do widget com base no contexto da conversa.
LLM_GENERATED O LLM precisa gerar uma resposta de texto.
STATIC Uma resposta de texto estático predefinida é sempre usada.

ExecutionType

O tipo de execução da ferramenta ou do conjunto de ferramentas.

Tipos enumerados
EXECUTION_TYPE_UNSPECIFIED O tipo de execução não foi especificado. Quando não especificado, o padrão é SYNCHRONOUS.
SYNCHRONOUS A ferramenta é executada de forma síncrona. A sessão fica bloqueada até que a ferramenta retorne.
ASYNCHRONOUS A ferramenta é executada de forma assíncrona. A sessão vai continuar enquanto a ferramenta estiver sendo executada.

Esquema de saída

Uma ferramenta representa uma ação que o agente do CES pode realizar para alcançar determinadas metas.

Ferramenta

Representação 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.
}
Campos
name

string

Identificador. O nome do recurso da ferramenta. Formato:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} para ferramentas independentes.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} para ferramentas recuperadas de um conjunto de ferramentas.

Essas ferramentas são dinâmicas e somente de saída. Elas não podem ser referenciadas diretamente onde uma ferramenta é esperada.

displayName

string

Apenas saída. O nome de exibição da ferramenta, derivado com base no tipo dela. Por exemplo, o nome de exibição de uma [ClientFunction][Tool.ClientFunction] é derivado da propriedade name.

executionType

enum (ExecutionType)

Opcional. O tipo de execução da ferramenta.

timeout

string (Duration format)

Opcional. O tempo limite para a execução da ferramenta. Se não for definido, o tempo limite padrão será de 30 segundos para ferramentas SYNCHRONOUS e 60 segundos para ferramentas ASYNCHRONOUS.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

createTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora em que a ferramenta foi criada.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora da última atualização da ferramenta.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

etag

string

Etag usada para garantir que o objeto não mudou durante uma operação de leitura-modificação-gravação. Se a ETag estiver vazia, a atualização vai substituir todas as mudanças simultâneas.

generatedSummary

string

Apenas saída. Se a ferramenta for gerada pelo assistente de LLM, esse campo vai conter um resumo descritivo da geração.

toolFakeConfig

object (ToolFakeConfig)

Opcional. Configuração para o comportamento da ferramenta no modo simulado.

Campo de união tool_type. O tipo da ferramenta. tool_type pode ser apenas de um dos tipos a seguir:
clientFunction

object (ClientFunction)

Opcional. A função do cliente.

openApiTool

object (OpenApiTool)

Opcional. A ferramenta de API aberta.

googleSearchTool

object (GoogleSearchTool)

Opcional. A ferramenta Pesquisa Google.

connectorTool

object (ConnectorTool)

Opcional. A ferramenta Integration Connectors.

dataStoreTool

object (DataStoreTool)

Opcional. A ferramenta de repositório de dados.

pythonFunction

object (PythonFunction)

Opcional. A ferramenta de função Python.

mcpTool

object (McpTool)

Opcional. A ferramenta MCP. Uma ferramenta do MCP não pode ser criada ou atualizada diretamente e é gerenciada pelo conjunto de ferramentas do MCP.

fileSearchTool

object (FileSearchTool)

Opcional. A ferramenta de pesquisa de arquivos.

systemTool

object (SystemTool)

Opcional. A ferramenta do sistema.

agentTool

object (AgentTool)

Opcional. A ferramenta do agente.

widgetTool

object (WidgetTool)

Opcional. A ferramenta de widget.

remoteAgentTool

object (RemoteAgentTool)

Opcional. A ferramenta de agente remoto.

ClientFunction

Representação JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Campos
name

string

Obrigatório. O nome da função.

description

string

Opcional. A descrição da função.

parameters

object (Schema)

Opcional. O esquema dos parâmetros da função.

response

object (Schema)

Opcional. O esquema da resposta da função.

Esquema

Representação 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.
}
Campos
type

enum (Type)

Obrigatório. O tipo dos dados.

properties

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

Opcional. Propriedades de Type.OBJECT.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Opcional. Propriedades obrigatórias de Type.OBJECT.

description

string

Opcional. A descrição dos dados.

items

object (Schema)

Opcional. Esquema dos elementos de Type.ARRAY.

nullable

boolean

Opcional. Indica se o valor pode ser nulo.

uniqueItems

boolean

Opcional. Indica que os itens na matriz precisam ser exclusivos. Aplicável apenas a TYPE.ARRAY.

prefixItems[]

object (Schema)

Opcional. Esquemas de elementos iniciais de Type.ARRAY.

additionalProperties

object (Schema)

Opcional. Pode ser um booleano ou um objeto e controla a presença de propriedades adicionais.

anyOf[]

object (Schema)

Opcional. O valor precisa ser validado em relação a qualquer um (um ou mais) dos subesquemas na lista.

enum[]

string

Opcional. Valores possíveis do elemento de tipo primitivo com formato de enumeração. Exemplos: 1. Podemos definir a direção como : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Podemos definir o número do apartamento como : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Opcional. Valor padrão dos dados.

ref

string

Opcional. Permite referências indiretas entre nós de esquema. O valor precisa ser uma referência válida a um filho do defs raiz.

Por exemplo, o esquema a seguir define uma referência a um nó de esquema chamado "Pet":

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

O valor da propriedade "pet" é uma referência ao nó do esquema chamado "Pet". Confira detalhes em https://json-schema.org/understanding-json-schema/structuring (em inglês).

defs

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

Opcional. Um mapa de definições para uso por ref. Permitido apenas na raiz do esquema.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Opcional. O título do esquema.

minItems

string (int64 format)

Opcional. Número mínimo de elementos para Type.ARRAY.

maxItems

string (int64 format)

Opcional. Número máximo de elementos para Type.ARRAY.

Campo de união _minimum.

_minimum pode ser apenas de um dos tipos a seguir:

minimum

number

Opcional. Valor mínimo para Type.INTEGER e Type.NUMBER.

Campo de união _maximum.

_maximum pode ser apenas de um dos tipos a seguir:

maximum

number

Opcional. Valor máximo para Type.INTEGER e Type.NUMBER.

PropertiesEntry

Representação JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

Valor

Representação 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.
}
Campos
Campo de união kind. O tipo de valor. kind pode ser apenas de um dos tipos a seguir:
nullValue

null

Representa um null JSON.

numberValue

number

Representa um número JSON. Não pode ser NaN, Infinity ou -Infinity, porque esses valores não são compatíveis com JSON. Isso também não pode representar valores Int64 grandes, já que o formato JSON geralmente não os aceita no tipo de número.

stringValue

string

Representa uma string JSON.

boolValue

boolean

Representa um booleano JSON (literal true ou false em JSON).

structValue

object (Struct format)

Representa um objeto JSON.

listValue

array (ListValue format)

Representa uma matriz JSON.

Struct

Representação JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

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

Mapa não ordenado de valores com tipagem dinâmica.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representação JSON
{
  "key": string,
  "value": value
}
Campos
key

string

value

value (Value format)

ListValue

Representação JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Campo repetido de valores digitados dinamicamente.

DefsEntry

Representação JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

OpenApiTool

Representação JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Campos
openApiSchema

string

Obrigatório. O esquema OpenAPI no formato JSON ou YAML.

name

string

Opcional. O nome da ferramenta. Se não for fornecido, o nome da ferramenta será derivado do esquema OpenAPI, de operation.operationId.

description

string

Opcional. A descrição da ferramenta. Se não for fornecida, a descrição da ferramenta será derivada do esquema OpenAPI, de operation.description ou operation.summary.

apiAuthentication

object (ApiAuthentication)

Opcional. Informações de autenticação exigidas pela API.

tlsConfig

object (TlsConfig)

Opcional. A configuração de TLS. Inclui os certificados de servidor personalizados em que o cliente vai confiar.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opcional. Configuração do Diretório de serviços.

ignoreUnknownFields

boolean

Opcional. Se for verdadeiro, o agente vai ignorar campos desconhecidos na resposta da API.

url

string

Opcional. O URL do servidor do esquema da API aberta. Esse campo só é definido em ferramentas nas dependências do ambiente durante o processo de exportação se o esquema contiver um URL do servidor. Durante o processo de importação, se esse URL estiver presente nas dependências do ambiente e o esquema tiver o marcador de posição $env_var, ele vai substituir o marcador no esquema.

ApiAuthentication

Representação 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.
}
Campos
Campo de união auth_config. A configuração de autenticação. auth_config pode ser apenas de um dos tipos a seguir:
apiKeyConfig

object (ApiKeyConfig)

Opcional. Configuração para autenticação de chave de API.

oauthConfig

object (OAuthConfig)

Opcional. Configuração para OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Opcional. Configuração para autenticação de token de ID gerada pelo agente de serviço do CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Opcional. Configuração para autenticação de conta de serviço.

bearerTokenConfig

object (BearerTokenConfig)

Opcional. Configuração para autenticação de token do portador.

ApiKeyConfig

Representação JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Campos
keyName

string

Obrigatório. O nome do parâmetro ou do cabeçalho da chave de API. Por exemplo, Se a solicitação de API for "https://example.com/act?X-Api-Key=", "X-Api-Key" será o nome do parâmetro.

apiKeySecretVersion

string

Obrigatório. O nome do recurso da versão do secret do Secret Manager que armazena a chave de API. Formato: projects/{project}/secrets/{secret}/versions/{version}

Observação: conceda o papel roles/secretmanager.secretAccessor ao agente de serviço do CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Obrigatório. Local da chave na solicitação.

OAuthConfig

Representação JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Campos
oauthGrantType

enum (OauthGrantType)

Obrigatório. Tipos de concessão do OAuth.

clientId

string

Obrigatório. O ID do cliente do provedor OAuth.

clientSecretVersion

string

Obrigatório. O nome do recurso da versão do secret do Secret Manager que armazena a chave secreta do cliente. Formato: projects/{project}/secrets/{secret}/versions/{version}

Observação: conceda o papel roles/secretmanager.secretAccessor ao agente de serviço do CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obrigatório. O endpoint de token no provedor OAuth para troca por um token de acesso.

scopes[]

string

Opcional. Os escopos do OAuth a serem concedidos.

ServiceAccountAuthConfig

Representação JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Campos
serviceAccount

string

Obrigatório. O endereço de e-mail da conta de serviço usada para autenticação. O CES usa essa conta de serviço para trocar um token de acesso, que é enviado no cabeçalho Authorization da solicitação.

A conta de serviço precisa ter o papel roles/iam.serviceAccountTokenCreator concedido ao agente de serviço do CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Opcional. Os escopos do OAuth a serem concedidos. Se não for especificado, o escopo padrão https://www.googleapis.com/auth/cloud-platform será usado.

BearerTokenConfig

Representação JSON
{
  "token": string
}
Campos
token

string

Obrigatório. O token do portador. Precisa estar no formato $context.variables.<name_of_variable>.

TlsConfig

Representação JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Campos
caCerts[]

object (CaCert)

Obrigatório. Especifica uma lista de certificados de CA personalizados permitidos para verificação HTTPS.

CaCert

Representação JSON
{
  "displayName": string,
  "cert": string
}
Campos
displayName

string

Obrigatório. O nome dos certificados de CA personalizados permitidos. Isso pode ser usado para eliminar a ambiguidade dos certificados de CA personalizados.

cert

string (bytes format)

Obrigatório. Os certificados de CA personalizados permitidos (no formato DER) para verificação HTTPS. Isso substitui o repositório de confiança SSL padrão. Se estiver vazio ou não especificado, o CES vai usar o repositório de confiança padrão do Google para verificar certificados. Observação: verifique se os certificados do servidor HTTPS estão assinados com "subject alt name". Por exemplo, um certificado pode ser autoassinado usando o seguinte comando:

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

Uma string codificada em base64.

ServiceDirectoryConfig

Representação JSON
{
  "service": string
}
Campos
service

string

Obrigatório. O nome do serviço do Diretório de serviços. Formato: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. O local do diretório de serviços precisa ser o mesmo do app.

GoogleSearchTool

Representação JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
Campos
name

string

Obrigatório. O nome da ferramenta.

description

string

Opcional. Descrição da finalidade da ferramenta.

contextUrls[]

string

Opcional. O conteúdo será buscado diretamente desses URLs para contexto e embasamento. Exemplo: "https://example.com/path.html". São permitidos no máximo 20 URLs.

preferredDomains[]

string

Opcional. Especifica os domínios em que os resultados da pesquisa serão restritos. Exemplo: "example.com", "another.site". É possível especificar no máximo 20 domínios.

excludeDomains[]

string

Opcional. Lista de domínios a serem excluídos dos resultados da pesquisa. Exemplo: "example.com". É possível excluir no máximo 2.000 domínios.

promptConfig

object (PromptConfig)

Opcional. Instruções de comando transmitidas ao planejador sobre como os resultados da pesquisa devem ser processados para texto e voz.

PromptConfig

Representação JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Campos
textPrompt

string

Opcional. Define o comando usado para as instruções do sistema ao interagir com o agente em conversas por chat. Se não for definido, o comando padrão será usado.

voicePrompt

string

Opcional. Define o comando usado para as instruções do sistema ao interagir com o agente em conversas por voz. Se não for definido, o comando padrão será usado.

ConnectorTool

Representação JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Campos
connection

string

Obrigatório. O nome completo do recurso da conexão referenciada do Integration Connectors. Formato: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Obrigatório. Ação que a ferramenta vai usar.

authConfig

object (EndUserAuthConfig)

Opcional. Configura como a autenticação é processada nos Integration Connectors. Por padrão, uma autenticação de administrador é transmitida nas solicitações da API Integration Connectors. É possível substituir essa configuração com outra de autenticação do usuário final. Observação: a conexão precisa ter a substituição de autenticação ativada para especificar uma configuração de EUC aqui. Caso contrário, a criação do ConnectorTool vai falhar. Consulte https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override para mais detalhes.

name

string

Opcional. O nome da ferramenta que pode ser usada pelo agente para decidir se vai chamar esse ConnectorTool.

description

string

Opcional. A descrição da ferramenta que pode ser usada pelo agente para decidir se deve chamar esse ConnectorTool.

Ação

Representação 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.
}
Campos
inputFields[]

string

Opcional. Campos de entidade a serem usados como entradas para a operação. Se nenhum campo for especificado, todos os campos da entidade serão usados.

outputFields[]

string

Opcional. Campos de entidade a serem retornados da operação. Se nenhum campo for especificado, todos os campos da entidade serão retornados.

Campo de união action_spec. Especificação de uma ação a ser configurada para uso da ferramenta. action_spec pode ser apenas de um dos tipos a seguir:
connectionActionId

string

ID de uma ação de conexão para a ferramenta usar.

entityOperation

object (EntityOperation)

Configuração de operação de entidade para a ferramenta usar.

EntityOperation

Representação JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Campos
entityId

string

Obrigatório. ID da entidade.

operation

enum (OperationType)

Obrigatório. Operação a ser realizada na entidade.

EndUserAuthConfig

Representação 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.
}
Campos
Campo de união auth_config. A configuração de autenticação. auth_config pode ser apenas de um dos tipos a seguir:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Autenticação de código de autorização do OAuth 2.0.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Autenticação de concessão de autorização OAuth 2.0 do perfil JWT.

Oauth2AuthCodeConfig

Representação JSON
{
  "oauthToken": string
}
Campos
oauthToken

string

Obrigatório. Nome do parâmetro do token OAuth a ser transmitido. Precisa estar no formato $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Representação JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Campos
issuer

string

Obrigatório. Nome do parâmetro do emissor a ser transmitido. Precisa estar no formato $context.variables.<name_of_variable>.

subject

string

Obrigatório. Nome do parâmetro de assunto a ser transmitido. Precisa estar no formato $context.variables.<name_of_variable>.

clientKey

string

Obrigatório. Nome do parâmetro do cliente a ser transmitido. Precisa estar no formato $context.variables.<name_of_variable>.

DataStoreTool

Representação 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.
}
Campos
name

string

Obrigatório. O nome da ferramenta do repositório de dados.

description

string

Opcional. A descrição da ferramenta.

boostSpecs[]

object (BoostSpecs)

Opcional. Otimizar a especificação para otimizar determinados documentos.

modalityConfigs[]

object (ModalityConfig)

Opcional. As configurações de modalidade do repositório de dados.

filterParameterBehavior

enum (FilterParameterBehavior)

Opcional. O comportamento do parâmetro de filtro.

Campo de união search_source. Define a origem da pesquisa, seja um único DataStore ou um mecanismo. search_source pode ser apenas de um dos tipos a seguir:
dataStoreSource

object (DataStoreSource)

Opcional. Pesquise em um único DataStore específico.

engineSource

object (EngineSource)

Opcional. Pesquise em um mecanismo (potencialmente em vários DataStores).

DataStoreSource

Representação JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Campos
filter

string

Opcional. Especificação de filtro para o DataStore. Consulte: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Opcional. O repositório de dados.

DataStore

Representação JSON
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
Campos
name

string

Obrigatório. Nome completo do recurso do DataStore. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

Apenas saída. O tipo do repositório de dados. Este campo é somente leitura e preenchido pelo servidor.

documentProcessingMode

enum (DocumentProcessingMode)

Apenas saída. O modo de processamento de documentos para a conexão do repositório de dados. Definido apenas para repositórios de dados PUBLIC_WEB e UNSTRUCTURED.

displayName

string

Apenas saída. O nome de exibição do repositório de dados.

createTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora em que o repositório de dados foi criado.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

connectorConfig

object (ConnectorConfig)

Apenas saída. A configuração do conector para a conexão do repositório de dados.

Carimbo de data/hora

Representação JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799 (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z).

nanos

integer

Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa ser de 0 a 999.999.999 (inclusive).

ConnectorConfig

Representação JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Campos
collection

string

Nome do recurso da coleção a que o repositório de dados pertence.

collectionDisplayName

string

Nome de exibição da coleção a que o repositório de dados pertence.

dataSource

string

O nome da fonte de dados. Exemplo: salesforce, jira, confluence, bigquery.

EngineSource

Representação JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
Campos
engine

string

Obrigatório. Nome completo do recurso do mecanismo. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

Opcional. Usado para segmentar DataStores específicos no Engine. Se estiver vazio, a pesquisa será aplicada a todos os DataStores associados ao mecanismo.

filter

string

Opcional. Um filtro aplicado à pesquisa no mecanismo. Não é relevante nem usado se "data_store_sources" for fornecido. Consulte: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

Representação JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
Campos
dataStores[]

string

Obrigatório. O repositório de dados em que a configuração de reforço é aplicada. Nome completo do recurso do DataStore, como projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (BoostSpec)

Obrigatório. Uma lista de especificações de reforço.

BoostSpec

Representação JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Campos
conditionBoostSpecs[]

object (ConditionBoostSpec)

Obrigatório. Uma lista de especificações de reforço.

ConditionBoostSpec

Representação JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Campos
condition

string

Obrigatório. Uma expressão que especifica uma condição de reforço. A sintaxe é a mesma da expressão de filtro. No momento, a única condição aceita é uma lista de códigos de idioma BCP-47. Exemplo: para aumentar as sugestões nos idiomas inglês ou francês: (lang_code: ANY("en", "fr"))

boost

number

Opcional. Intensidade da otimização, que precisa estar em [-1, 1]. Reforço negativo significa rebaixamento. O padrão é 0,0.

Definir como 1.0 dá uma grande promoção às sugestões. No entanto, isso não significa necessariamente que o resultado principal será uma sugestão otimizada.

Definir como -1,0 dá às sugestões um grande rebaixamento. No entanto, outras sugestões relevantes ainda podem aparecer.

Definir como 0,0 significa que não há otimização aplicada. A condição de reforço é ignorada.

boostControlSpec

object (BoostControlSpec)

Opcional. Especificação complexa para classificação personalizada com base no valor do atributo definido pelo cliente.

BoostControlSpec

Representação JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campos
fieldName

string

Opcional. O nome do campo cujo valor será usado para determinar o valor do reforço.

attributeType

enum (AttributeType)

Opcional. O tipo de atributo a ser usado para determinar o valor do reforço. O valor do atributo pode ser derivado do valor do campo do field_name especificado. No caso de valores numéricos, é simples: attribute_value = numerical_field_value. No caso da atualização, attribute_value = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Opcional. O tipo de interpolação a ser aplicado para conectar os pontos de controle listados abaixo.

controlPoints[]

object (ControlPoint)

Opcional. Os pontos de controle usados para definir a curva. A função monotônica (definida pelo interpolation_type acima) passa pelos pontos de controle listados aqui.

ControlPoint

Representação JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

Opcional. Pode ser um dos seguintes: 1. O valor do campo numérico. 2. A especificação de duração para atualização. O valor precisa ser formatado como um valor dayTimeDuration XSD (um subconjunto restrito de um valor de duração ISO 8601). O padrão é: [nD][T[nH][nM][nS]].

boostAmount

number

Opcional. O valor entre -1 e 1 pelo qual aumentar a pontuação se o atributo "attribute_value" for avaliado como o valor especificado acima.

ModalityConfig

Representação JSON
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "snippetsConfig": {
    object (SnippetsConfig)
  }
}
Campos
modalityType

enum (ModalityType)

Obrigatório. O tipo de modalidade.

rewriterConfig

object (RewriterConfig)

Opcional. A configuração do rewriter.

summarizationConfig

object (SummarizationConfig)

Opcional. A configuração de resumo.

groundingConfig

object (GroundingConfig)

Opcional. A configuração de embasamento.

snippetsConfig

object (SnippetsConfig)

Opcional. A configuração de snippets.

RewriterConfig

Representação JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Obrigatório. Configurações do modelo de LLM.

prompt

string

Opcional. A definição do comando. Se não for definido, o comando padrão será usado.

disabled

boolean

Opcional. Se o rewriter está desativado.

ModelSettings

Representação 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.
}
Campos
model

string

Opcional. O modelo de LLM que o agente deve usar. Se não estiver definido, o agente vai herdar o modelo do agente pai.

Campo de união _temperature.

_temperature pode ser apenas de um dos tipos a seguir:

temperature

number

Opcional. Se definido, essa temperatura será usada para o modelo LLM. A temperatura controla a aleatoriedade das respostas do modelo. Temperaturas mais baixas produzem respostas mais previsíveis. Temperaturas mais altas produzem respostas mais criativas.

SummarizationConfig

Representação JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Opcional. Configurações do modelo de LLM.

prompt

string

Opcional. A definição do comando. Se não for definido, o comando padrão será usado.

disabled

boolean

Opcional. Se o resumo está desativado.

GroundingConfig

Representação JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Campos
groundingLevel

number

Opcional. O limite de embasamento da resposta com base nas fontes recuperadas. O valor tem um intervalo configurável de [1, 5]. O nível é usado para definir o limite da fundamentação da resposta. Isso significa que todas as respostas com uma pontuação de fundamentação abaixo do limite vão retornar apenas snippets relevantes.

Por exemplo, um nível 3 significa que a pontuação de embasamento precisa ser 3 ou mais para que a resposta seja retornada.

disabled

boolean

Opcional. Se o embasamento está desativado.

SnippetsConfig

Representação JSON
{
  "enableSnippets": boolean
}
Campos
enableSnippets

boolean

Opcional. Indica se os snippets estão ativados.

PythonFunction

Representação JSON
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Campos
name

string

Opcional. O nome da função Python a ser executada. Precisa corresponder a um nome de função Python definido no código Python. Diferencia maiúsculas de minúsculas. Se o nome não for fornecido, a primeira função definida no código Python será usada.

pythonCode

string

Opcional. O código Python a ser executado para a ferramenta.

description

string

Apenas saída. A descrição da função Python, analisada da docstring do código Python.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opcional. Configuração do Diretório de serviços para a ferramenta.

McpTool

Representação 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)
}
Campos
name

string

Obrigatório. O nome da ferramenta do MCP.

nameOverride

string

Opcional. A substituição do nome da ferramenta MCP. Esse campo é preenchido se o nome foi substituído por uma substituição do Toolset.

description

string

Opcional. A descrição da ferramenta MCP.

inputSchema

object (Schema)

Opcional. O esquema dos argumentos de entrada da ferramenta MCP.

outputSchema

object (Schema)

Opcional. O esquema dos argumentos de saída da ferramenta MCP.

serverAddress

string

Obrigatório. O endereço do servidor MCP, por exemplo, "https://example.com/mcp/". Se o servidor for criado com o SDK do MCP, o URL vai ter o sufixo "/mcp/". Somente servidores baseados em transporte HTTP de streaming são compatíveis. É o mesmo que "server_address" em McpToolset. Consulte https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http para mais detalhes.

apiAuthentication

object (ApiAuthentication)

Opcional. Informações de autenticação necessárias para executar a ferramenta no servidor MCP. Para autenticação de token de portador, o token se aplica apenas à execução da ferramenta, não à listagem de ferramentas. Isso exige que as ferramentas possam ser listadas sem autenticação.

tlsConfig

object (TlsConfig)

Opcional. A configuração de TLS. Inclui os certificados de servidor personalizados em que o cliente deve confiar.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opcional. Configuração do Diretório de serviços para VPC-SC, usada para resolver nomes de serviços em um perímetro.

customHeaders

map (key: string, value: string)

Opcional. Os cabeçalhos personalizados a serem enviados na solicitação ao servidor MCP. Os valores precisam estar no formato $context.variables.<name_of_variable> e podem ser definidos nas variáveis de sessão. Consulte https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection para mais detalhes.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (State)

Apenas saída. O estado de disponibilidade dinâmica da ferramenta no servidor externo.

CustomHeadersEntry

Representação JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

FileSearchTool

Representação JSON
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Campos
corpusType

enum (CorpusType)

Opcional. O tipo de corpus. O padrão é FULLY_MANAGED.

name

string

Obrigatório. O nome da ferramenta.

description

string

Opcional. A descrição da ferramenta.

fileCorpus

string

Opcional. O corpus em que os arquivos são armazenados. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

Representação JSON
{
  "name": string,
  "description": string
}
Campos
name

string

Obrigatório. O nome da ferramenta do sistema.

description

string

Apenas saída. A descrição da ferramenta do sistema.

AgentTool

Representação JSON
{
  "name": string,
  "description": string,
  "agent": string
}
Campos
name

string

Obrigatório. O nome da ferramenta do agente.

description

string

Opcional. Descrição da finalidade da ferramenta.

agent

string

Opcional. O nome do recurso do agente que é o ponto de entrada da ferramenta. Formato: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Representação 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.
}
Campos
name

string

Obrigatório. O nome de exibição da ferramenta de widget.

description

string

Opcional. A descrição da ferramenta de widget.

widgetType

enum (WidgetType)

Opcional. O tipo da ferramenta de widget. Se não for especificado, o tipo padrão será "CUSTOMIZED".

uiConfig

object (Struct format)

Opcional. Configuração para renderizar o widget.

dataMapping

object (DataMapping)

Opcional. O mapeamento que define como os dados de uma ferramenta de origem são mapeados para os parâmetros de entrada do widget.

textResponseConfig

object (TextResponseConfig)

Opcional. Configuração para respostas de texto sempre incluídas.

Campo de união input. A entrada da ferramenta de widget. input pode ser apenas de um dos tipos a seguir:
parameters

object (Schema)

Opcional. Os parâmetros de entrada da ferramenta de widget.

DataMapping

Representação JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (Mode),
  "pythonScript": string
}
Campos
sourceToolName

string

Opcional. O nome do recurso da ferramenta que fornece os dados para o widget (por exemplo, uma ferramenta de pesquisa ou uma função personalizada). Formato: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Opcional. Um mapa de campos de parâmetros de entrada de widget para os campos de saída correspondentes da ferramenta de origem.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

pythonFunction

object (PythonFunction)

Opcional. Configuração de uma função Python usada para transformar a saída da ferramenta de origem no formato de entrada do widget.

mode

enum (Mode)

Opcional. O modo do mapeamento de dados.

pythonScript
(deprecated)

string

Descontinuado: use python_function.

FieldMappingsEntry

Representação JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

TextResponseConfig

Representação JSON
{
  "type": enum (Type),
  "staticText": string,
  "textResponseInstruction": string
}
Campos
type

enum (Type)

Opcional. A estratégia para fornecer a resposta de texto.

staticText

string

Opcional. A resposta de texto estático a ser retornada quando o tipo é "STATIC".

textResponseInstruction

string

Opcional. Instrução para o LLM sobre como gerar a resposta de texto. Usado como a descrição do parâmetro de resposta de texto se o tipo for LLM_GENERATED.

RemoteAgentTool

Representação JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  }
}
Campos
name

string

Obrigatório. O nome da ferramenta.

description

string

Obrigatório. A descrição da ferramenta.

agentCard

object (AgentCard)

Obrigatório. O card do agente remoto que essa ferramenta invoca.

AgentCard

Representação JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Campos
name

string

Obrigatório. Um nome do agente legível por humanos.

description

string

Obrigatório. Uma descrição do domínio de ação/espaço de solução do agente.

supportedInterfaces[]

object (AgentInterface)

Obrigatório. Lista ordenada de interfaces compatíveis. A primeira entrada é a preferida.

version

string

Obrigatório. A versão do agente.

skills[]

object (AgentSkill)

Obrigatório. As habilidades representam uma unidade de capacidade que um agente pode realizar. Isso pode ser um pouco abstrato, mas representa um conjunto mais focado de ações que o agente tem grande probabilidade de realizar com sucesso.

AgentInterface

Representação JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Campos
url

string

Obrigatório. O URL em que essa interface está disponível. Precisa ser um URL HTTPS absoluto válido em produção. Exemplo: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Obrigatório. A vinculação de protocolo compatível com este URL. Essa é uma string de formulário aberto, que pode ser facilmente estendida para outras vinculações de protocolo. Os principais com suporte oficial são JSONRPC, GRPC e HTTP+JSON.

tenant

string

ID do locatário a ser usado na solicitação ao chamar o agente.

protocolVersion

string

Obrigatório. A versão do protocolo A2A que essa interface expõe. Use a versão secundária mais recente compatível por versão principal. Exemplos: "0.3", "1.0"

AgentSkill

Representação JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Campos
id

string

Obrigatório. Um identificador exclusivo da habilidade do agente.

name

string

Obrigatório. Um nome legível para a habilidade.

description

string

Obrigatório. Uma descrição detalhada da habilidade.

tags[]

string

Obrigatório. Um conjunto de palavras-chave que descrevem os recursos da skill.

examples[]

string

Exemplos de comandos ou cenários que essa habilidade pode processar.

inputModes[]

string

O conjunto de tipos de mídia de entrada compatíveis com essa habilidade, substituindo os padrões do agente.

outputModes[]

string

O conjunto de tipos de mídia de saída compatíveis com essa habilidade, substituindo os padrões do agente.

Duração

Representação JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Segundos assinados do período. Precisa estar entre -315.576.000.000 e +315.576.000.000 (inclusive). Observação: esses limites são calculados com base em: 60 s/min * 60 min/h * 24 h/dia * 365,25 dias/ano * 10.000 anos

nanos

integer

Frações assinadas de um segundo com resolução de nanossegundos do período. Durações menores que um segundo são representadas com um campo seconds 0 e um campo nanos positivo ou negativo. Para durações de um segundo ou mais, um valor diferente de zero para o campo nanos precisa ter o mesmo sinal do campo seconds. Precisa estar entre -999.999.999 e +999.999.999 (inclusive).

ToolFakeConfig

Representação 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.
}
Campos
enableFakeMode

boolean

Opcional. Indica se a ferramenta está usando o modo simulado.

Campo de união tool_response. A resposta é estática ou fornecida por uma função Python. tool_response pode ser apenas de um dos tipos a seguir:
codeBlock

object (CodeBlock)

Opcional. Bloco de código que será executado em vez de uma chamada de ferramenta real.

CodeBlock

Representação JSON
{
  "pythonCode": string
}
Campos
pythonCode

string

Obrigatório. Código Python que será invocado no modo falso da ferramenta. Assinatura esperada da função Python: para capturar todas as chamadas de ferramenta: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: para capturar uma chamada de ferramenta específica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: se a função retornar "None", a ferramenta real será invocada.

Tipo

Tipos de dados da OpenAPI.

Tipos enumerados
TYPE_UNSPECIFIED Tipo não especificado.
STRING Tipo de string.
INTEGER Tipo inteiro.
NUMBER Tipo de número.
BOOLEAN Tipo booleano.
OBJECT Tipo de objeto.
ARRAY Tipo de matriz.

NullValue

Representa um null JSON.

NullValue é um sentinela que usa uma enumeração com apenas um valor para representar o valor nulo da união de tipos Value.

Um campo do tipo NullValue com qualquer valor diferente de 0 é considerado inválido. A maioria dos serializadores ProtoJSON vai emitir um Value com um null_value definido como um null JSON, independente do valor inteiro, e, portanto, fará uma viagem de ida e volta para um valor 0.

Tipos enumerados
NULL_VALUE Valor nulo.

RequestLocation

O local da chave de API na solicitação.

Tipos enumerados
REQUEST_LOCATION_UNSPECIFIED Não especificado. Esse valor não deve ser usado.
HEADER Representa a chave no cabeçalho HTTP.
QUERY_STRING Representa a chave na string de consulta.

OauthGrantType

Tipos de concessão do OAuth. Somente a concessão de credenciais do cliente é compatível.

Tipos enumerados
OAUTH_GRANT_TYPE_UNSPECIFIED Não especificado. O padrão é CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Representa o fluxo de credenciais do cliente.

OperationType

A operação a ser realizada na entidade.

Tipos enumerados
OPERATION_TYPE_UNSPECIFIED Tipo de operação não especificado. Inválido. A criação/atualização de ConnectorTool vai falhar.
LIST Operação de listagem.
GET Receber operação.
CREATE Criar operação.
UPDATE Operação de atualização.
DELETE Operação de exclusão.

DataStoreType

O tipo do repositório de dados.

Tipos enumerados
DATA_STORE_TYPE_UNSPECIFIED Não especificado. Esse valor indica que o tipo de repositório de dados não foi especificado e, portanto, não será usado durante a pesquisa.
PUBLIC_WEB Um repositório de dados que contém conteúdo da Web público.
UNSTRUCTURED Um repositório de dados que contém dados particulares não estruturados.
FAQ Um repositório de dados que contém dados estruturados usados como perguntas frequentes.
CONNECTOR Um repositório de dados que é um conector para um serviço próprio ou de terceiros.

DocumentProcessingMode

O modo de processamento de documentos do repositório de dados.

Tipos enumerados
DOCUMENT_PROCESSING_MODE_UNSPECIFIED Não especificado.
DOCUMENTS Os documentos são processados como documentos.
CHUNKS Os documentos são convertidos em partes.

AttributeType

O atributo(ou função) a que a classificação personalizada será aplicada.

Tipos enumerados
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType não especificado.
NUMERICAL O valor do campo numérico será usado para atualizar dinamicamente o valor do reforço. Nesse caso, o attribute_value (o valor x) do ponto de controle será o valor real do campo numérico para o qual o boost_amount é especificado.
FRESHNESS Para o caso de uso de atualização, o valor do atributo será a duração entre a hora atual e a data no campo de data e hora especificado. O valor precisa ser formatado como um valor dayTimeDuration XSD (um subconjunto restrito de um valor de duração ISO 8601). O padrão é: [nD][T[nH][nM][nS]]. Por exemplo: 5D, 3DT12H30M, T24H.

InterpolationType

O tipo de interpolação a ser aplicado. O padrão é linear (linear por partes).

Tipos enumerados
INTERPOLATION_TYPE_UNSPECIFIED O tipo de interpolação não foi especificado. Nesse caso, o padrão é "Linear".
LINEAR A interpolação linear por partes será aplicada.

ModalityType

O tipo de modalidade.

Tipos enumerados
MODALITY_TYPE_UNSPECIFIED Tipo de modalidade não especificado.
TEXT Modalidade de texto.
AUDIO Modalidade de áudio.

FilterParameterBehavior

Comportamento do parâmetro de filtro.

Tipos enumerados
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Comportamento padrão do filtro. Inclua o filtro de inclusão para repositórios de dados do conector. Para os outros tipos de armazenamento de dados, o parâmetro de entrada do filtro é omitido.
ALWAYS_INCLUDE Sempre inclua o parâmetro de filtro para todos os tipos de armazenamento de dados.
NEVER_INCLUDE O parâmetro de filtro nunca é incluído na lista de parâmetros da ferramenta, seja qual for o tipo de armazenamento de dados.

Estado

Representa o estado de disponibilidade dinâmica da ferramenta.

Tipos enumerados
STATE_UNSPECIFIED Estado padrão.
ACTIVE A ferramenta está disponível e é oferecida ativamente pelo servidor.
INACTIVE A ferramenta está configurada ou fixada, mas não é oferecida pelo servidor no momento.
STALE A ferramenta existe no servidor, mas não corresponde à versão dele.

CorpusType

O tipo do corpus de RAG da Vertex.

Tipos enumerados
CORPUS_TYPE_UNSPECIFIED Tipo de corpus não especificado.
USER_OWNED O corpus é criado e pertence ao usuário.
FULLY_MANAGED O corpus é criado pelo agente.

WidgetType

Todos os tipos de widgets disponíveis. Novos valores podem ser adicionados a essa enumeração no futuro.

Tipos enumerados
WIDGET_TYPE_UNSPECIFIED Tipo de widget não especificado.
CUSTOM Tipo de widget personalizado.
PRODUCT_DETAILS Widget de detalhes do produto.
QUICK_ACTIONS Widget Ações rápidas.
PRODUCT_COMPARISON Widget de comparação de produtos.
ADVANCED_PRODUCT_DETAILS Widget de detalhes avançados do produto.
SHORT_FORM Widget de formato curto.
OVERALL_SATISFACTION Widget de satisfação geral.
ORDER_SUMMARY Widget de resumo do pedido.
APPOINTMENT_DETAILS Widget de detalhes do horário.
APPOINTMENT_SCHEDULER Widget de agendamento de horários.
CONTACT_FORM Widget de formulário de contato.

Modo

A estratégia usada para mapear dados da ferramenta de origem para o widget.

Tipos enumerados
MODE_UNSPECIFIED Modo não especificado.
FIELD_MAPPING Use o mapa field_mappings para transformação de dados.
PYTHON_SCRIPT Use o python_script para transformação de dados.

Tipo

Define como a resposta de texto é produzida.

Tipos enumerados
TYPE_UNSPECIFIED Tipo não especificado.
NONE O LLM decide dinamicamente se vai gerar uma resposta de texto ao lado do widget com base no contexto da conversa.
LLM_GENERATED O LLM precisa gerar uma resposta de texto.
STATIC Uma resposta de texto estático predefinida é sempre usada.

ExecutionType

O tipo de execução da ferramenta ou do conjunto de ferramentas.

Tipos enumerados
EXECUTION_TYPE_UNSPECIFIED O tipo de execução não foi especificado. Quando não especificado, o padrão é SYNCHRONOUS.
SYNCHRONOUS A ferramenta é executada de forma síncrona. A sessão fica bloqueada até que a ferramenta retorne.
ASYNCHRONOUS A ferramenta é executada de forma assíncrona. A sessão vai continuar enquanto a ferramenta estiver sendo executada.

Anotações de ferramentas

Dica destrutiva: ✅ | Dica idempotente: ❌ | Dica somente leitura: ❌ | Dica de mundo aberto: ❌