MCP Tools Reference: ces.googleapis.com

Strumento: create_tool

Crea un nuovo strumento nell'app specificata.

Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP create_tool.

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

Schema di input

Messaggio di richiesta per AgentService.CreateTool.

CreateToolRequest

Rappresentazione JSON
{
  "parent": string,
  "toolId": string,
  "tool": {
    object (Tool)
  }
}
Campi
parent

string

Obbligatorio. Il nome della risorsa dell'app in cui creare uno strumento.

toolId

string

Facoltativo. L'ID da utilizzare per lo strumento, che diventerà il componente finale del nome della risorsa dello strumento. Se non viene fornito, verrà assegnato automaticamente un ID univoco allo strumento.

tool

object (Tool)

Obbligatorio. Lo strumento per creare.

Strumento

Rappresentazione 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.
}
Campi
name

string

Identificatore. Il nome della risorsa dello strumento. Formato:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} per gli strumenti autonomi.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} per gli strumenti recuperati da un insieme di strumenti.

Questi strumenti sono dinamici e solo di output; non è possibile farvi riferimento direttamente dove è previsto uno strumento.

displayName

string

Solo output. Il nome visualizzato dello strumento, derivato in base al tipo di strumento. Ad esempio, il nome visualizzato di una [ClientFunction][Tool.ClientFunction] deriva dalla relativa proprietà name.

executionType

enum (ExecutionType)

Facoltativo. Il tipo di esecuzione dello strumento.

timeout

string (Duration format)

Facoltativo. Il timeout per l'esecuzione dello strumento. Se non viene impostato, il timeout predefinito è di 30 secondi per gli strumenti SYNCHRONOUS e di 60 secondi per gli strumenti ASYNCHRONOUS.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

createTime

string (Timestamp format)

Solo output. Timestamp di creazione dello strumento.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. Timestamp dell'ultimo aggiornamento dello strumento.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

Etag utilizzato per garantire che l'oggetto non sia stato modificato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee.

generatedSummary

string

Solo output. Se lo strumento è generato dall'assistente LLM, questo campo contiene un riepilogo descrittivo della generazione.

toolFakeConfig

object (ToolFakeConfig)

Facoltativo. Configurazione del comportamento dello strumento in modalità simulata.

Campo unione tool_type. Il tipo di strumento. tool_type può essere solo uno dei seguenti tipi:
clientFunction

object (ClientFunction)

Facoltativo. La funzione client.

openApiTool

object (OpenApiTool)

Facoltativo. Lo strumento API aperta.

googleSearchTool

object (GoogleSearchTool)

Facoltativo. Lo strumento di ricerca di Google.

connectorTool

object (ConnectorTool)

Facoltativo. Lo strumento Integration Connector.

dataStoreTool

object (DataStoreTool)

Facoltativo. Lo strumento datastore.

pythonFunction

object (PythonFunction)

Facoltativo. Lo strumento per le funzioni Python.

mcpTool

object (McpTool)

Facoltativo. Lo strumento MCP. Uno strumento MCP non può essere creato o aggiornato direttamente ed è gestito dal set di strumenti MCP.

fileSearchTool

object (FileSearchTool)

Facoltativo. Lo strumento di ricerca dei file.

systemTool

object (SystemTool)

Facoltativo. Lo strumento di sistema.

agentTool

object (AgentTool)

Facoltativo. Lo strumento dell'agente.

widgetTool

object (WidgetTool)

Facoltativo. Lo strumento widget.

remoteAgentTool

object (RemoteAgentTool)

Facoltativo. Lo strumento dell'agente remoto.

ClientFunction

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Campi
name

string

Obbligatorio. Il nome della funzione.

description

string

Facoltativo. La descrizione della funzione.

parameters

object (Schema)

Facoltativo. Lo schema dei parametri della funzione.

response

object (Schema)

Facoltativo. Lo schema della risposta della funzione.

Schema

Rappresentazione 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.
}
Campi
type

enum (Type)

Obbligatorio. Il tipo di dati.

properties

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

Facoltativo. Proprietà di Type.OBJECT.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Facoltativo. Proprietà obbligatorie di Type.OBJECT.

description

string

Facoltativo. La descrizione dei dati.

items

object (Schema)

Facoltativo. Schema degli elementi di Type.ARRAY.

nullable

boolean

Facoltativo. Indica se il valore può essere null.

uniqueItems

boolean

Facoltativo. Indica che gli elementi dell'array devono essere univoci. Si applica solo a TYPE.ARRAY.

prefixItems[]

object (Schema)

Facoltativo. Schemi degli elementi iniziali di Type.ARRAY.

additionalProperties

object (Schema)

Facoltativo. Può essere un valore booleano o un oggetto, controlla la presenza di proprietà aggiuntive.

anyOf[]

object (Schema)

Facoltativo. Il valore deve essere convalidato rispetto a uno o più sottoschema nell'elenco.

enum[]

string

Facoltativo. Valori possibili dell'elemento di tipo primitivo con formato enum. Esempi: 1. Possiamo definire la direzione come : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Possiamo definire il numero di appartamento come : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Facoltativo. Valore predefinito dei dati.

ref

string

Facoltativo. Consente riferimenti indiretti tra i nodi dello schema. Il valore deve essere un riferimento valido a un elemento secondario della radice defs.

Ad esempio, lo schema seguente definisce un riferimento a un nodo dello schema denominato "Pet":

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

Il valore della proprietà "pet" è un riferimento al nodo dello schema denominato "Pet". Per maggiori dettagli, visita la pagina https://json-schema.org/understanding-json-schema/structuring.

defs

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

Facoltativo. Una mappa delle definizioni da utilizzare per ref. Consentito solo nella radice dello schema.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Facoltativo. Il titolo dello schema.

minItems

string (int64 format)

Facoltativo. Numero minimo di elementi per Type.ARRAY.

maxItems

string (int64 format)

Facoltativo. Numero massimo di elementi per Type.ARRAY.

Campo unione _minimum.

_minimum può essere solo uno dei seguenti tipi:

minimum

number

Facoltativo. Valore minimo per Type.INTEGER e Type.NUMBER.

Campo unione _maximum.

_maximum può essere solo uno dei seguenti tipi:

maximum

number

Facoltativo. Valore massimo per Type.INTEGER e Type.NUMBER.

PropertiesEntry

Rappresentazione JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campi
key

string

value

object (Schema)

Valore

Rappresentazione 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.
}
Campi
Campo unione kind. Il tipo di valore. kind può essere solo uno dei seguenti tipi:
nullValue

null

Rappresenta un null JSON.

numberValue

number

Rappresenta un numero JSON. Non deve essere NaN, Infinity o -Infinity, in quanto non sono supportati in JSON. Inoltre, non può rappresentare valori Int64 di grandi dimensioni, poiché il formato JSON in genere non li supporta nel suo tipo di numero.

stringValue

string

Rappresenta una stringa JSON.

boolValue

boolean

Rappresenta un valore booleano JSON (valore letterale true o false in JSON).

structValue

object (Struct format)

Rappresenta un oggetto JSON.

listValue

array (ListValue format)

Rappresenta un array JSON.

Struct

Rappresentazione JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campi
fields

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

Mappa non ordinata di valori con tipo dinamico.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Rappresentazione JSON
{
  "key": string,
  "value": value
}
Campi
key

string

value

value (Value format)

ListValue

Rappresentazione JSON
{
  "values": [
    value
  ]
}
Campi
values[]

value (Value format)

Campo ripetuto di valori con tipo dinamico.

DefsEntry

Rappresentazione JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campi
key

string

value

object (Schema)

OpenApiTool

Rappresentazione JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Campi
openApiSchema

string

Obbligatorio. Lo schema OpenAPI in formato JSON o YAML.

name

string

Facoltativo. Il nome dello strumento. Se non viene fornito, il nome dello strumento verrà derivato dallo schema OpenAPI, da operation.operationId.

description

string

Facoltativo. La descrizione dello strumento. Se non viene fornita, la descrizione dello strumento verrà derivata dallo schema OpenAPI, da operation.description o operation.summary.

apiAuthentication

object (ApiAuthentication)

Facoltativo. Informazioni di autenticazione richieste dall'API.

tlsConfig

object (TlsConfig)

Facoltativo. La configurazione TLS. Include i certificati del server personalizzati di cui il client si fiderà.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione di Service Directory.

ignoreUnknownFields

boolean

Facoltativo. Se il valore è true, l'agente ignorerà i campi sconosciuti nella risposta dell'API.

url

string

Facoltativo. L'URL del server dello schema Open API. Questo campo viene impostato solo negli strumenti nelle dipendenze dell'ambiente durante il processo di esportazione se lo schema contiene un URL del server. Durante il processo di importazione, se questo URL è presente nelle dipendenze dell'ambiente e lo schema contiene il segnaposto $env_var, quest'ultimo verrà sostituito nello schema.

ApiAuthentication

Rappresentazione 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.
}
Campi
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi:
apiKeyConfig

object (ApiKeyConfig)

Facoltativo. Configurazione per l'autenticazione della chiave API.

oauthConfig

object (OAuthConfig)

Facoltativo. Configurazione per OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Facoltativo. Configurazione per l'autenticazione con token ID generato dall'agente di servizio CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Facoltativo. Configurazione per l'autenticazione del account di servizio.

bearerTokenConfig

object (BearerTokenConfig)

Facoltativo. Configurazione per l'autenticazione con token di connessione.

ApiKeyConfig

Rappresentazione JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Campi
keyName

string

Obbligatorio. Il nome del parametro o dell'intestazione della chiave API. Ad esempio, Se la richiesta API è "https://example.com/act?X-Api-Key=", "X-Api-Key" sarà il nome del parametro.

apiKeySecretVersion

string

Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia la chiave API. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: devi concedere il ruolo roles/secretmanager.secretAccessor al service agent CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Obbligatorio. Posizione della chiave nella richiesta.

OAuthConfig

Rappresentazione JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Campi
oauthGrantType

enum (OauthGrantType)

Obbligatorio. Tipi di autorizzazione con OAuth.

clientId

string

Obbligatorio. L'ID client del provider OAuth.

clientSecretVersion

string

Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia il client secret. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: devi concedere il ruolo roles/secretmanager.secretAccessor al service agent CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obbligatorio. L'endpoint del token nel provider OAuth da scambiare con un token di accesso.

scopes[]

string

Facoltativo. Gli ambiti OAuth da concedere.

ServiceAccountAuthConfig

Rappresentazione JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Campi
serviceAccount

string

Obbligatorio. L'indirizzo email del account di servizio utilizzato per l'autenticazione. CES utilizza questo account di servizio per scambiare un token di accesso, che viene poi inviato nell'intestazione Authorization della richiesta.

All'account di servizio deve essere concesso il ruolo roles/iam.serviceAccountTokenCreator all'agente di servizio CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Facoltativo. Gli ambiti OAuth da concedere. Se non specificato, viene utilizzato l'ambito predefinito https://www.googleapis.com/auth/cloud-platform.

BearerTokenConfig

Rappresentazione JSON
{
  "token": string
}
Campi
token

string

Obbligatorio. Il token di connessione. Deve essere nel formato $context.variables.<name_of_variable>.

TlsConfig

Rappresentazione JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Campi
caCerts[]

object (CaCert)

Obbligatorio. Specifica un elenco di certificati CA personalizzati consentiti per la verifica HTTPS.

CaCert

Rappresentazione JSON
{
  "displayName": string,
  "cert": string
}
Campi
displayName

string

Obbligatorio. Il nome dei certificati CA personalizzati consentiti. Può essere utilizzato per disambiguare i certificati CA personalizzati.

cert

string (bytes format)

Obbligatorio. I certificati CA personalizzati consentiti (in formato DER) per la verifica HTTPS. Esegue l'override dell'archivio di attendibilità SSL predefinito. Se questo campo è vuoto o non specificato, CES utilizzerà l'archivio di attendibilità predefinito di Google per verificare i certificati. Nota: assicurati che i certificati del server HTTPS siano firmati con "subject alt name". Ad esempio, un certificato può essere autofirmato utilizzando il seguente 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'")

Una stringa con codifica in base64.

ServiceDirectoryConfig

Rappresentazione JSON
{
  "service": string
}
Campi
service

string

Obbligatorio. Il nome del servizio Service Directory. Formato: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. La posizione della directory dei servizi deve corrispondere a quella dell'app.

GoogleSearchTool

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
Campi
name

string

Obbligatorio. Il nome dello strumento.

description

string

Facoltativo. Descrizione dello scopo dello strumento.

contextUrls[]

string

Facoltativo. I contenuti verranno recuperati direttamente da questi URL per il contesto e la base. Esempio: "https://example.com/path.html". Sono consentiti al massimo 20 URL.

preferredDomains[]

string

Facoltativo. Specifica i domini a cui limitare i risultati di ricerca. Esempio: "example.com", "another.site". È possibile specificare un massimo di 20 domini.

excludeDomains[]

string

Facoltativo. Elenco dei domini da escludere dai risultati di ricerca. Esempio: "example.com". È possibile escludere un massimo di 2000 domini.

promptConfig

object (PromptConfig)

Facoltativo. Istruzioni del prompt trasmesse al planner su come devono essere elaborati i risultati di ricerca per il testo e la voce.

PromptConfig

Rappresentazione JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Campi
textPrompt

string

Facoltativo. Definisce il prompt utilizzato per le istruzioni di sistema quando interagisci con l'agente nelle conversazioni di chat. Se non impostato, verrà utilizzato il prompt predefinito.

voicePrompt

string

Facoltativo. Definisce il prompt utilizzato per le istruzioni di sistema quando interagisci con l'agente nelle conversazioni vocali. Se non impostato, verrà utilizzato il prompt predefinito.

ConnectorTool

Rappresentazione JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Campi
connection

string

Obbligatorio. Il nome completo della risorsa della connessione Integration Connectors a cui viene fatto riferimento. Formato: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Obbligatorio. Azione da utilizzare per lo strumento.

authConfig

object (EndUserAuthConfig)

Facoltativo. Configura la gestione dell'autenticazione in Integration Connectors. Per impostazione predefinita, un'autenticazione amministratore viene trasmessa nelle richieste dell'API Integration Connectors. Puoi ignorarlo con una configurazione di autenticazione dell'utente finale diversa. Nota: per specificare una configurazione EUC qui, l'override dell'autenticazione deve essere abilitato nella connessione. In caso contrario, la creazione di ConnectorTool non riuscirà. Per i dettagli, vedi https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override.

name

string

Facoltativo. Il nome dello strumento che può essere utilizzato dall'agente per decidere se chiamare questo ConnectorTool.

description

string

Facoltativo. La descrizione dello strumento che può essere utilizzata dall'agente per decidere se chiamare questo ConnectorTool.

Azione

Rappresentazione 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.
}
Campi
inputFields[]

string

Facoltativo. Campi dell'entità da utilizzare come input per l'operazione. Se non vengono specificati campi, verranno utilizzati tutti i campi dell'entità.

outputFields[]

string

Facoltativo. Campi dell'entità da restituire dall'operazione. Se non vengono specificati campi, vengono restituiti tutti i campi dell'entità.

Campo unione action_spec. Specifica di un'azione da configurare per l'utilizzo dello strumento. action_spec può essere solo uno dei seguenti tipi:
connectionActionId

string

ID di un'azione di connessione da utilizzare per lo strumento.

entityOperation

object (EntityOperation)

Configurazione dell'operazione dell'entità da utilizzare per lo strumento.

EntityOperation

Rappresentazione JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Campi
entityId

string

Obbligatorio. ID dell'entità.

operation

enum (OperationType)

Obbligatorio. Operazione da eseguire sull'entità.

EndUserAuthConfig

Rappresentazione 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.
}
Campi
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Autenticazione del codice di autorizzazione OAuth 2.0.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Autenticazione della concessione di autorizzazione OAuth 2.0 del profilo JWT.

Oauth2AuthCodeConfig

Rappresentazione JSON
{
  "oauthToken": string
}
Campi
oauthToken

string

Obbligatorio. Nome del parametro del token OAuth da trasferire. Deve essere nel formato $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Rappresentazione JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Campi
issuer

string

Obbligatorio. Nome del parametro dell'emittente da trasferire. Deve essere nel formato $context.variables.<name_of_variable>.

subject

string

Obbligatorio. Nome del parametro oggetto da trasferire. Deve essere nel formato $context.variables.<name_of_variable>.

clientKey

string

Obbligatorio. Nome del parametro client da trasferire. Deve essere nel formato $context.variables.<name_of_variable>.

DataStoreTool

Rappresentazione 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.
}
Campi
name

string

Obbligatorio. Il nome dello strumento datastore.

description

string

Facoltativo. La descrizione dello strumento.

boostSpecs[]

object (BoostSpecs)

Facoltativo. Migliora le specifiche per dare priorità a determinati documenti.

modalityConfigs[]

object (ModalityConfig)

Facoltativo. Le configurazioni della modalità per il datastore.

filterParameterBehavior

enum (FilterParameterBehavior)

Facoltativo. Il comportamento del parametro di filtro.

Campo unione search_source. Definisce l'origine della ricerca, ovvero un singolo datastore o un motore. search_source può essere solo uno dei seguenti tipi:
dataStoreSource

object (DataStoreSource)

Facoltativo. Eseguire ricerche all'interno di un singolo DataStore specifico.

engineSource

object (EngineSource)

Facoltativo. Cerca all'interno di un motore (potenzialmente in più datastore).

DataStoreSource

Rappresentazione JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Campi
filter

string

Facoltativo. Specifica del filtro per il datastore. Vedi: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Facoltativo. Il datastore.

DataStore

Rappresentazione JSON
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
Campi
name

string

Obbligatorio. Nome completo della risorsa del datastore. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

Solo output. Il tipo di datastore. Questo campo è di sola lettura e viene compilato dal server.

documentProcessingMode

enum (DocumentProcessingMode)

Solo output. La modalità di elaborazione dei documenti per la connessione del datastore. Impostato solo per i datastore PUBLIC_WEB e UNSTRUCTURED.

displayName

string

Solo output. Il nome visualizzato del datastore.

createTime

string (Timestamp format)

Solo output. Timestamp di creazione del datastore.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

connectorConfig

object (ConnectorConfig)

Solo output. La configurazione del connettore per la connessione al datastore.

Timestamp

Rappresentazione JSON
{
  "seconds": string,
  "nanos": integer
}
Campi
seconds

string (int64 format)

Rappresenta i secondi di tempo UTC dall'epoca Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z).

nanos

integer

Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori non negativi dei nanosecondi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi.

ConnectorConfig

Rappresentazione JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Campi
collection

string

Il nome della risorsa della raccolta a cui appartiene il datastore.

collectionDisplayName

string

Nome visualizzato della raccolta a cui appartiene il datastore.

dataSource

string

Il nome dell'origine dati. Esempio: salesforce, jira, confluence, bigquery.

EngineSource

Rappresentazione JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
Campi
engine

string

Obbligatorio. Nome completo della risorsa del motore. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

Facoltativo. Utilizza questo campo per scegliere come target DataStore specifici all'interno del motore. Se vuoto, la ricerca viene applicata a tutti i Data Store associati al motore.

filter

string

Facoltativo. Un filtro applicato alla ricerca nel motore. Non pertinente e non utilizzato se viene fornito "data_store_sources". Vedi: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

Rappresentazione JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
Campi
dataStores[]

string

Obbligatorio. Il datastore in cui viene applicata la configurazione del boosting. Nome completo della risorsa DataStore, ad esempio projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (BoostSpec)

Obbligatorio. Un elenco di specifiche di boosting.

BoostSpec

Rappresentazione JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Campi
conditionBoostSpecs[]

object (ConditionBoostSpec)

Obbligatorio. Un elenco di specifiche di boosting.

ConditionBoostSpec

Rappresentazione JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Campi
condition

string

Obbligatorio. Un'espressione che specifica una condizione di aumento. La sintassi è la stessa delle espressioni di filtro. Al momento, l'unica condizione supportata è un elenco di codici lingua BCP-47. Esempio: per aumentare i suggerimenti nelle lingue inglese o francese: (lang_code: ANY("en", "fr"))

boost

number

Facoltativo. L'intensità del boost, che deve essere compresa tra -1 e 1. Un boosting negativo indica una retrocessione. Il valore predefinito è 0.0.

Se il boosting viene impostato su 1.0, i suggerimenti vengono promossi maggiormente. Tuttavia, non significa necessariamente che il risultato in cima alla prima pagina sarà un suggerimento con boosting.

Se viene impostato su -1.0, i suggerimenti vengono declassati in modo significativo. Tuttavia, potrebbero comunque essere mostrati altri suggerimenti pertinenti.

Se il valore è impostato su 0,0, non viene applicato alcun boost. La condizione di incremento viene ignorata.

boostControlSpec

object (BoostControlSpec)

Facoltativo. Specifica complessa per il ranking personalizzato in base al valore dell'attributo definito dal cliente.

BoostControlSpec

Rappresentazione JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campi
fieldName

string

Facoltativo. Il nome del campo il cui valore verrà utilizzato per determinare l'importo dell'aggiustamento.

attributeType

enum (AttributeType)

Facoltativo. Il tipo di attributo da utilizzare per determinare l'importo del boost. Il valore dell'attributo può essere derivato dal valore del campo field_name specificato. Nel caso di valori numerici, è semplice, ad esempio attribute_value = numerical_field_value. Nel caso della freschezza, attribute_value = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Facoltativo. Il tipo di interpolazione da applicare per collegare i punti di controllo elencati di seguito.

controlPoints[]

object (ControlPoint)

Facoltativo. I punti di controllo utilizzati per definire la curva. La funzione monotona (definita tramite interpolation_type sopra) passa attraverso i punti di controllo elencati qui.

ControlPoint

Rappresentazione JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campi
attributeValue

string

Facoltativo. Può corrispondere a uno dei seguenti valori: 1. Il valore del campo numerico. 2. La specifica della durata per l'aggiornamento: il valore deve essere formattato come valore XSD dayTimeDuration (un sottoinsieme limitato di un valore di durata ISO 8601). Il pattern è: [nD][T[nH][nM][nS]].

boostAmount

number

Facoltativo. Il valore compreso tra -1 e 1 in base al quale aumentare il punteggio se attribute_value restituisce il valore specificato sopra.

ModalityConfig

Rappresentazione JSON
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "snippetsConfig": {
    object (SnippetsConfig)
  }
}
Campi
modalityType

enum (ModalityType)

Obbligatorio. Il tipo di modalità.

rewriterConfig

object (RewriterConfig)

Facoltativo. La configurazione dello strumento di riscrittura.

summarizationConfig

object (SummarizationConfig)

Facoltativo. La configurazione del riepilogo.

groundingConfig

object (GroundingConfig)

Facoltativo. La configurazione di messa a terra.

snippetsConfig

object (SnippetsConfig)

Facoltativo. La configurazione degli snippet.

RewriterConfig

Rappresentazione JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campi
modelSettings

object (ModelSettings)

Obbligatorio. Configurazioni per il modello LLM.

prompt

string

Facoltativo. La definizione del prompt. Se non impostato, verrà utilizzato il prompt predefinito.

disabled

boolean

Facoltativo. Indica se il rewriter è disattivato.

ModelSettings

Rappresentazione 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.
}
Campi
model

string

Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non è impostato, l'agente erediterà il modello dall'agente principale.

Campo unione _temperature.

_temperature può essere solo uno dei seguenti tipi:

temperature

number

Facoltativo. Se impostata, questa temperatura verrà utilizzata per il modello LLM. La temperatura controlla la casualità delle risposte del modello. Le temperature più basse producono risposte più prevedibili. Le temperature più alte producono risposte più creative.

SummarizationConfig

Rappresentazione JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campi
modelSettings

object (ModelSettings)

Facoltativo. Configurazioni per il modello LLM.

prompt

string

Facoltativo. La definizione del prompt. Se non impostato, verrà utilizzato il prompt predefinito.

disabled

boolean

Facoltativo. Indica se il riepilogo è disattivato.

GroundingConfig

Rappresentazione JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Campi
groundingLevel

number

Facoltativo. La soglia di fondatezza della risposta in base alle fonti recuperate. Il valore ha un intervallo configurabile di [1, 5]. Il livello viene utilizzato per impostare una soglia per la fondatezza della risposta, il che significa che tutte le risposte con un punteggio di fondatezza inferiore alla soglia torneranno a restituire solo snippet pertinenti.

Ad esempio, un livello 3 significa che il punteggio di fondatezza deve essere pari o superiore a 3 affinché la risposta venga restituita.

disabled

boolean

Facoltativo. Indica se la base è disattivata.

SnippetsConfig

Rappresentazione JSON
{
  "enableSnippets": boolean
}
Campi
enableSnippets

boolean

Facoltativo. Se gli snippet sono abilitati.

PythonFunction

Rappresentazione JSON
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Campi
name

string

Facoltativo. Il nome della funzione Python da eseguire. Deve corrispondere al nome di una funzione Python definita nel codice Python. Sensibile alle maiuscole. Se il nome non viene fornito, verrà utilizzata la prima funzione definita nel codice Python.

pythonCode

string

Facoltativo. Il codice Python da eseguire per lo strumento.

description

string

Solo output. La descrizione della funzione Python, analizzata dalla docstring del codice Python.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione di Service Directory per lo strumento.

McpTool

Rappresentazione 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)
}
Campi
name

string

Obbligatorio. Il nome dello strumento MCP.

nameOverride

string

Facoltativo. L'override del nome dello strumento MCP. Questo campo viene compilato se il nome è stato sostituito da un override del toolset.

description

string

Facoltativo. La descrizione dello strumento MCP.

inputSchema

object (Schema)

Facoltativo. Lo schema degli argomenti di input dello strumento MCP.

outputSchema

object (Schema)

Facoltativo. Lo schema degli argomenti di output dello strumento MCP.

serverAddress

string

Obbligatorio. L'indirizzo del server MCP, ad esempio "https://example.com/mcp/". Se il server è creato con l'SDK MCP, l'URL deve avere il suffisso "/mcp/". Sono supportati solo i server basati sul trasporto HTTP in streaming. È uguale a server_address in McpToolset. Per ulteriori dettagli, consulta la pagina https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http.

apiAuthentication

object (ApiAuthentication)

Facoltativo. Informazioni di autenticazione necessarie per eseguire lo strumento sul server MCP. Per l'autenticazione con token di autenticazione, il token si applica solo all'esecuzione dello strumento, non agli strumenti di elenco. Ciò richiede che gli strumenti possano essere elencati senza autenticazione.

tlsConfig

object (TlsConfig)

Facoltativo. La configurazione TLS. Include i certificati del server personalizzati che il client deve considerare attendibili.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione di Service Directory per VPC-SC, utilizzata per risolvere i nomi dei servizi all'interno di un perimetro.

customHeaders

map (key: string, value: string)

Facoltativo. Le intestazioni personalizzate da inviare nella richiesta al server MCP. I valori devono essere nel formato $context.variables.<name_of_variable> e possono essere impostati nelle variabili di sessione. Per maggiori dettagli, visita la pagina https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (State)

Solo output. Lo stato di disponibilità dinamica dello strumento sul server esterno.

CustomHeadersEntry

Rappresentazione JSON
{
  "key": string,
  "value": string
}
Campi
key

string

value

string

FileSearchTool

Rappresentazione JSON
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Campi
corpusType

enum (CorpusType)

Facoltativo. Il tipo di corpus. Il valore predefinito è FULLY_MANAGED.

name

string

Obbligatorio. Il nome dello strumento.

description

string

Facoltativo. La descrizione dello strumento.

fileCorpus

string

Facoltativo. Il corpus in cui sono archiviati i file. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

Rappresentazione JSON
{
  "name": string,
  "description": string
}
Campi
name

string

Obbligatorio. Il nome dello strumento di sistema.

description

string

Solo output. La descrizione dello strumento di sistema.

AgentTool

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "agent": string
}
Campi
name

string

Obbligatorio. Il nome dello strumento dell'agente.

description

string

Facoltativo. Descrizione dello scopo dello strumento.

agent

string

Facoltativo. Il nome della risorsa dell'agente che è il punto di ingresso dello strumento. Formato: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Rappresentazione 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.
}
Campi
name

string

Obbligatorio. Il nome visualizzato dello strumento widget.

description

string

Facoltativo. La descrizione dello strumento widget.

widgetType

enum (WidgetType)

Facoltativo. Il tipo di strumento widget. Se non specificato, il tipo predefinito sarà CUSTOMIZED.

uiConfig

object (Struct format)

Facoltativo. Configurazione per il rendering del widget.

dataMapping

object (DataMapping)

Facoltativo. Il mapping che definisce come i dati di uno strumento di origine vengono mappati ai parametri di input del widget.

textResponseConfig

object (TextResponseConfig)

Facoltativo. Configurazione per le risposte di testo sempre incluse.

Campo unione input. L'input dello strumento widget. input può essere solo uno dei seguenti tipi:
parameters

object (Schema)

Facoltativo. I parametri di input dello strumento widget.

DataMapping

Rappresentazione JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (Mode),
  "pythonScript": string
}
Campi
sourceToolName

string

Facoltativo. Il nome della risorsa dello strumento che fornisce i dati per il widget (ad es. uno strumento di ricerca o una funzione personalizzata). Formato: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Facoltativo. Una mappa dei campi dei parametri di input del widget ai campi di output corrispondenti dello strumento di origine.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

pythonFunction

object (PythonFunction)

Facoltativo. Configurazione per una funzione Python utilizzata per trasformare l'output dello strumento di origine nel formato di input del widget.

mode

enum (Mode)

Facoltativo. La modalità di mappatura dei dati.

pythonScript
(deprecated)

string

Deprecato: utilizza python_function.

FieldMappingsEntry

Rappresentazione JSON
{
  "key": string,
  "value": string
}
Campi
key

string

value

string

TextResponseConfig

Rappresentazione JSON
{
  "type": enum (Type),
  "staticText": string,
  "textResponseInstruction": string
}
Campi
type

enum (Type)

Facoltativo. La strategia per fornire la risposta di testo.

staticText

string

Facoltativo. La risposta di testo statica da restituire quando il tipo è STATIC.

textResponseInstruction

string

Facoltativo. Istruzioni per l'LLM su come generare la risposta di testo. Utilizzato come descrizione del parametro di risposta di testo se il tipo è LLM_GENERATED.

RemoteAgentTool

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  }
}
Campi
name

string

Obbligatorio. Il nome dello strumento.

description

string

Obbligatorio. La descrizione dello strumento.

agentCard

object (AgentCard)

Obbligatorio. La scheda dell'agente remoto richiamato da questo strumento.

AgentCard

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Campi
name

string

Obbligatorio. Un nome leggibile per l'agente.

description

string

Obbligatorio. Una descrizione del dominio di azione/spazio delle soluzioni dell'agente.

supportedInterfaces[]

object (AgentInterface)

Obbligatorio. Elenco ordinato delle interfacce supportate. Viene preferita la prima voce.

version

string

Obbligatorio. La versione dell'agente.

skills[]

object (AgentSkill)

Obbligatorio. Le skill rappresentano un'unità di capacità che un agente può eseguire. Potrebbe sembrare un po' astratto, ma rappresenta un insieme più mirato di azioni che l'agente ha molte probabilità di portare a termine.

AgentInterface

Rappresentazione JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Campi
url

string

Obbligatorio. L'URL in cui è disponibile questa interfaccia. Deve essere un URL HTTPS assoluto valido nell'ambiente di produzione. Esempio: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Obbligatorio. Il binding del protocollo supportato a questo URL. Si tratta di una stringa di formato aperto, facilmente estendibile per altri binding di protocollo. Quelli principali supportati ufficialmente sono JSONRPC, GRPC e HTTP+JSON.

tenant

string

ID tenant da utilizzare nella richiesta quando chiami l'agente.

protocolVersion

string

Obbligatorio. La versione del protocollo A2A esposta da questa interfaccia. Utilizza l'ultima versione secondaria supportata per ogni versione principale. Esempi: "0.3", "1.0"

AgentSkill

Rappresentazione JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Campi
id

string

Obbligatorio. Un identificatore univoco per la competenza dell'agente.

name

string

Obbligatorio. Un nome leggibile per la competenza.

description

string

Obbligatorio. Una descrizione dettagliata della skill.

tags[]

string

Obbligatorio. Un insieme di parole chiave che descrivono le funzionalità della skill.

examples[]

string

Esempi di prompt o scenari che questa skill può gestire.

inputModes[]

string

Il set di tipi di contenuti multimediali di input supportati per questa skill, che sostituisce i valori predefiniti dell'agente.

outputModes[]

string

L'insieme dei tipi di contenuti multimediali di output supportati per questa skill, che sostituiscono i valori predefiniti dell'agente.

Durata

Rappresentazione JSON
{
  "seconds": string,
  "nanos": integer
}
Campi
seconds

string (int64 format)

Secondi firmati dell'intervallo di tempo. Deve essere compreso tra -315.576.000.000 e +315.576.000.000 inclusi. Nota: questi limiti vengono calcolati in base a: 60 sec/min * 60 min/ora * 24 ore/giorno * 365,25 giorni/anno * 10.000 anni

nanos

integer

Frazioni di secondo con segno con risoluzione in nanosecondi dell'intervallo di tempo. Le durate inferiori a un secondo sono rappresentate con un campo seconds pari a 0 e un campo nanos positivo o negativo. Per durate di un secondo o più, un valore diverso da zero per il campo nanos deve avere lo stesso segno del campo seconds. Deve essere compreso tra -999.999.999 e +999.999.999 inclusi.

ToolFakeConfig

Rappresentazione 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.
}
Campi
enableFakeMode

boolean

Facoltativo. Indica se lo strumento utilizza la modalità Falso.

Campo unione tool_response. La risposta è statica o fornita da una funzione Python. tool_response può essere solo uno dei seguenti tipi:
codeBlock

object (CodeBlock)

Facoltativo. Blocco di codice che verrà eseguito al posto di una chiamata allo strumento reale.

CodeBlock

Rappresentazione JSON
{
  "pythonCode": string
}
Campi
pythonCode

string

Obbligatorio. Codice Python che verrà richiamato in modalità di simulazione dello strumento. Firma della funzione Python prevista: per intercettare tutte le chiamate di strumenti: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: per intercettare una chiamata di strumento specifica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: se la funzione restituisce None, verrà richiamato lo strumento reale.

Tipo

Tipi di dati OpenAPI.

Enum
TYPE_UNSPECIFIED Tipo non specificato.
STRING Tipo di stringa.
INTEGER Tipo di numero intero.
NUMBER Tipo di numero.
BOOLEAN Tipo booleano.
OBJECT Tipo di oggetto.
ARRAY Tipo di array.

NullValue

Rappresenta un null JSON.

NullValue è un sentinel che utilizza un'enumerazione con un solo valore per rappresentare il valore nullo per l'unione di tipi Value.

Un campo di tipo NullValue con un valore diverso da 0 è considerato non valido. La maggior parte dei serializzatori ProtoJSON emetterà un Value con un null_value impostato come null JSON indipendentemente dal valore intero, quindi verrà eseguito l'andata e ritorno a un valore 0.

Enum
NULL_VALUE Valore nullo.

RequestLocation

La posizione della chiave API nella richiesta.

Enum
REQUEST_LOCATION_UNSPECIFIED Non specificato. Questo valore non deve essere utilizzato.
HEADER Rappresenta la chiave nell'intestazione HTTP.
QUERY_STRING Rappresenta la chiave nella stringa di query.

OauthGrantType

Tipi di autorizzazione con OAuth. È supportata solo la concessione delle credenziali client.

Enum
OAUTH_GRANT_TYPE_UNSPECIFIED Non specificato. Il valore predefinito è CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Rappresenta il flusso delle credenziali client.

OperationType

L'operazione da eseguire sull'entità.

Enum
OPERATION_TYPE_UNSPECIFIED Tipo di operazione non specificato. Non valido, la creazione/l'aggiornamento di ConnectorTool non riuscirà.
LIST Elenco operazioni.
GET Recupera operazione.
CREATE Crea operazione.
UPDATE Operazione di aggiornamento.
DELETE Operazione di eliminazione.

DataStoreType

Il tipo di datastore.

Enum
DATA_STORE_TYPE_UNSPECIFIED Non specificato. Questo valore indica che il tipo di datastore non è specificato, quindi non verrà utilizzato durante la ricerca.
PUBLIC_WEB Un datastore che contiene contenuti web pubblici.
UNSTRUCTURED Un datastore che contiene dati privati non strutturati.
FAQ Un datastore che contiene dati strutturati utilizzati come domande frequenti.
CONNECTOR Un datastore che è un connettore a un servizio proprietario o di terze parti.

DocumentProcessingMode

La modalità di elaborazione dei documenti del datastore.

Enum
DOCUMENT_PROCESSING_MODE_UNSPECIFIED Non specificato.
DOCUMENTS I documenti vengono elaborati come documenti.
CHUNKS I documenti vengono convertiti in blocchi.

AttributeType

L'attributo(o la funzione) a cui deve essere applicato il ranking personalizzato.

Enum
ATTRIBUTE_TYPE_UNSPECIFIED Tipo di attributo non specificato.
NUMERICAL Il valore del campo numerico verrà utilizzato per aggiornare dinamicamente l'importo dell'incremento. In questo caso, l'attributo_value (il valore x) del punto di controllo sarà il valore effettivo del campo numerico per cui è specificato boost_amount.
FRESHNESS Per il caso d'uso della freschezza, il valore dell'attributo sarà la durata tra l'ora corrente e la data nel campo datetime specificato. Il valore deve essere formattato come valore XSD dayTimeDuration (un sottoinsieme limitato di un valore di durata ISO 8601). Il pattern è: [nD][T[nH][nM][nS]]. Ad esempio, 5D, 3DT12H30M, T24H.

InterpolationType

Il tipo di interpolazione da applicare. Il valore predefinito sarà lineare (lineare a tratti).

Enum
INTERPOLATION_TYPE_UNSPECIFIED Il tipo di interpolazione non è specificato. In questo caso, il valore predefinito è Lineare.
LINEAR Verrà applicata l'interpolazione lineare a tratti.

ModalityType

Il tipo di modalità.

Enum
MODALITY_TYPE_UNSPECIFIED Tipo di modalità non specificato.
TEXT Modalità testo.
AUDIO Modalità audio.

FilterParameterBehavior

Comportamento dei parametri di filtro.

Enum
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Comportamento predefinito del filtro. Includi il parametro filtro di inclusione per i datastore del connettore. Per gli altri tipi di datastore, il parametro di input del filtro viene omesso.
ALWAYS_INCLUDE Includi sempre il parametro di filtro per tutti i tipi di datastore.
NEVER_INCLUDE Il parametro di filtro non è mai incluso nell'elenco dei parametri dello strumento, indipendentemente dal tipo di datastore.

Stato

Rappresenta lo stato di disponibilità dinamica dello strumento.

Enum
STATE_UNSPECIFIED Stato predefinito.
ACTIVE Lo strumento è disponibile e offerto attivamente dal server.
INACTIVE Lo strumento è configurato o bloccato, ma al momento non è offerto dal server.
STALE Lo strumento esiste sul server, ma non corrisponde alla versione sul server.

CorpusType

Il tipo di corpus Vertex RAG.

Enum
CORPUS_TYPE_UNSPECIFIED Tipo di corpus non specificato.
USER_OWNED Il corpus viene creato e di proprietà dell'utente.
FULLY_MANAGED Il corpus viene creato dall'agente.

WidgetType

Tutti i tipi di widget disponibili. In futuro potrebbero essere aggiunti nuovi valori a questa enumerazione.

Enum
WIDGET_TYPE_UNSPECIFIED Tipo di widget non specificato.
CUSTOM Tipo di widget personalizzato.
PRODUCT_DETAILS Widget Dettagli prodotto.
QUICK_ACTIONS Widget Azioni rapide.
PRODUCT_COMPARISON Widget di confronto dei prodotti.
ADVANCED_PRODUCT_DETAILS Widget Dettagli del prodotto avanzati.
SHORT_FORM Widget per il formato breve.
OVERALL_SATISFACTION Widget di soddisfazione generale.
ORDER_SUMMARY Widget Riepilogo ordine.
APPOINTMENT_DETAILS Widget dei dettagli dell'appuntamento.
APPOINTMENT_SCHEDULER Widget per la pianificazione degli appuntamenti.
CONTACT_FORM Widget modulo di contatto.

Modalità

La strategia utilizzata per mappare i dati dallo strumento di origine al widget.

Enum
MODE_UNSPECIFIED Modalità non specificata.
FIELD_MAPPING Utilizza la mappa field_mappings per la trasformazione dei dati.
PYTHON_SCRIPT Utilizza python_script per la trasformazione dei dati.

Tipo

Definisce come viene prodotta la risposta testuale.

Enum
TYPE_UNSPECIFIED Tipo non specificato.
NONE L'LLM decide dinamicamente se generare una risposta di testo insieme al widget in base al contesto della conversazione.
LLM_GENERATED Il modello LLM è esplicitamente tenuto a generare una risposta di testo.
STATIC Viene sempre utilizzata una risposta di testo statico predefinita.

ExecutionType

Il tipo di esecuzione dello strumento o del set di strumenti.

Enum
EXECUTION_TYPE_UNSPECIFIED Il tipo di esecuzione non è specificato. Se non specificato, il valore predefinito è SYNCHRONOUS.
SYNCHRONOUS Lo strumento viene eseguito in modo sincrono. La sessione è bloccata fino al ritorno dello strumento.
ASYNCHRONOUS Lo strumento viene eseguito in modo asincrono. La sessione continuerà durante l'esecuzione dello strumento.

Schema di output

Uno strumento rappresenta un'azione che l'agente CES può intraprendere per raggiungere determinati obiettivi.

Strumento

Rappresentazione 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.
}
Campi
name

string

Identificatore. Il nome della risorsa dello strumento. Formato:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} per gli strumenti autonomi.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} per gli strumenti recuperati da un insieme di strumenti.

Questi strumenti sono dinamici e solo di output; non è possibile farvi riferimento direttamente dove è previsto uno strumento.

displayName

string

Solo output. Il nome visualizzato dello strumento, derivato in base al tipo di strumento. Ad esempio, il nome visualizzato di una [ClientFunction][Tool.ClientFunction] deriva dalla relativa proprietà name.

executionType

enum (ExecutionType)

Facoltativo. Il tipo di esecuzione dello strumento.

timeout

string (Duration format)

Facoltativo. Il timeout per l'esecuzione dello strumento. Se non viene impostato, il timeout predefinito è di 30 secondi per gli strumenti SYNCHRONOUS e di 60 secondi per gli strumenti ASYNCHRONOUS.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

createTime

string (Timestamp format)

Solo output. Timestamp di creazione dello strumento.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. Timestamp dell'ultimo aggiornamento dello strumento.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

Etag utilizzato per garantire che l'oggetto non sia stato modificato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee.

generatedSummary

string

Solo output. Se lo strumento è generato dall'assistente LLM, questo campo contiene un riepilogo descrittivo della generazione.

toolFakeConfig

object (ToolFakeConfig)

Facoltativo. Configurazione del comportamento dello strumento in modalità simulata.

Campo unione tool_type. Il tipo di strumento. tool_type può essere solo uno dei seguenti tipi:
clientFunction

object (ClientFunction)

Facoltativo. La funzione client.

openApiTool

object (OpenApiTool)

Facoltativo. Lo strumento API aperta.

googleSearchTool

object (GoogleSearchTool)

Facoltativo. Lo strumento di ricerca di Google.

connectorTool

object (ConnectorTool)

Facoltativo. Lo strumento Integration Connector.

dataStoreTool

object (DataStoreTool)

Facoltativo. Lo strumento datastore.

pythonFunction

object (PythonFunction)

Facoltativo. Lo strumento per le funzioni Python.

mcpTool

object (McpTool)

Facoltativo. Lo strumento MCP. Uno strumento MCP non può essere creato o aggiornato direttamente ed è gestito dal set di strumenti MCP.

fileSearchTool

object (FileSearchTool)

Facoltativo. Lo strumento di ricerca dei file.

systemTool

object (SystemTool)

Facoltativo. Lo strumento di sistema.

agentTool

object (AgentTool)

Facoltativo. Lo strumento dell'agente.

widgetTool

object (WidgetTool)

Facoltativo. Lo strumento widget.

remoteAgentTool

object (RemoteAgentTool)

Facoltativo. Lo strumento dell'agente remoto.

ClientFunction

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Campi
name

string

Obbligatorio. Il nome della funzione.

description

string

Facoltativo. La descrizione della funzione.

parameters

object (Schema)

Facoltativo. Lo schema dei parametri della funzione.

response

object (Schema)

Facoltativo. Lo schema della risposta della funzione.

Schema

Rappresentazione 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.
}
Campi
type

enum (Type)

Obbligatorio. Il tipo di dati.

properties

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

Facoltativo. Proprietà di Type.OBJECT.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Facoltativo. Proprietà obbligatorie di Type.OBJECT.

description

string

Facoltativo. La descrizione dei dati.

items

object (Schema)

Facoltativo. Schema degli elementi di Type.ARRAY.

nullable

boolean

Facoltativo. Indica se il valore può essere null.

uniqueItems

boolean

Facoltativo. Indica che gli elementi dell'array devono essere univoci. Si applica solo a TYPE.ARRAY.

prefixItems[]

object (Schema)

Facoltativo. Schemi degli elementi iniziali di Type.ARRAY.

additionalProperties

object (Schema)

Facoltativo. Può essere un valore booleano o un oggetto, controlla la presenza di proprietà aggiuntive.

anyOf[]

object (Schema)

Facoltativo. Il valore deve essere convalidato rispetto a uno o più sottoschema nell'elenco.

enum[]

string

Facoltativo. Valori possibili dell'elemento di tipo primitivo con formato enum. Esempi: 1. Possiamo definire la direzione come : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Possiamo definire il numero di appartamento come : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Facoltativo. Valore predefinito dei dati.

ref

string

Facoltativo. Consente riferimenti indiretti tra i nodi dello schema. Il valore deve essere un riferimento valido a un elemento secondario della radice defs.

Ad esempio, lo schema seguente definisce un riferimento a un nodo dello schema denominato "Pet":

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

Il valore della proprietà "pet" è un riferimento al nodo dello schema denominato "Pet". Per maggiori dettagli, visita la pagina https://json-schema.org/understanding-json-schema/structuring.

defs

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

Facoltativo. Una mappa delle definizioni da utilizzare per ref. Consentito solo nella radice dello schema.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Facoltativo. Il titolo dello schema.

minItems

string (int64 format)

Facoltativo. Numero minimo di elementi per Type.ARRAY.

maxItems

string (int64 format)

Facoltativo. Numero massimo di elementi per Type.ARRAY.

Campo unione _minimum.

_minimum può essere solo uno dei seguenti tipi:

minimum

number

Facoltativo. Valore minimo per Type.INTEGER e Type.NUMBER.

Campo unione _maximum.

_maximum può essere solo uno dei seguenti tipi:

maximum

number

Facoltativo. Valore massimo per Type.INTEGER e Type.NUMBER.

PropertiesEntry

Rappresentazione JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campi
key

string

value

object (Schema)

Valore

Rappresentazione 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.
}
Campi
Campo unione kind. Il tipo di valore. kind può essere solo uno dei seguenti tipi:
nullValue

null

Rappresenta un null JSON.

numberValue

number

Rappresenta un numero JSON. Non deve essere NaN, Infinity o -Infinity, in quanto non sono supportati in JSON. Inoltre, non può rappresentare valori Int64 di grandi dimensioni, poiché il formato JSON in genere non li supporta nel suo tipo di numero.

stringValue

string

Rappresenta una stringa JSON.

boolValue

boolean

Rappresenta un valore booleano JSON (valore letterale true o false in JSON).

structValue

object (Struct format)

Rappresenta un oggetto JSON.

listValue

array (ListValue format)

Rappresenta un array JSON.

Struct

Rappresentazione JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campi
fields

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

Mappa non ordinata di valori con tipo dinamico.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Rappresentazione JSON
{
  "key": string,
  "value": value
}
Campi
key

string

value

value (Value format)

ListValue

Rappresentazione JSON
{
  "values": [
    value
  ]
}
Campi
values[]

value (Value format)

Campo ripetuto di valori con tipo dinamico.

DefsEntry

Rappresentazione JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campi
key

string

value

object (Schema)

OpenApiTool

Rappresentazione JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Campi
openApiSchema

string

Obbligatorio. Lo schema OpenAPI in formato JSON o YAML.

name

string

Facoltativo. Il nome dello strumento. Se non viene fornito, il nome dello strumento verrà derivato dallo schema OpenAPI, da operation.operationId.

description

string

Facoltativo. La descrizione dello strumento. Se non viene fornita, la descrizione dello strumento verrà derivata dallo schema OpenAPI, da operation.description o operation.summary.

apiAuthentication

object (ApiAuthentication)

Facoltativo. Informazioni di autenticazione richieste dall'API.

tlsConfig

object (TlsConfig)

Facoltativo. La configurazione TLS. Include i certificati del server personalizzati di cui il client si fiderà.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione di Service Directory.

ignoreUnknownFields

boolean

Facoltativo. Se il valore è true, l'agente ignorerà i campi sconosciuti nella risposta dell'API.

url

string

Facoltativo. L'URL del server dello schema Open API. Questo campo viene impostato solo negli strumenti nelle dipendenze dell'ambiente durante il processo di esportazione se lo schema contiene un URL del server. Durante il processo di importazione, se questo URL è presente nelle dipendenze dell'ambiente e lo schema contiene il segnaposto $env_var, quest'ultimo verrà sostituito nello schema.

ApiAuthentication

Rappresentazione 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.
}
Campi
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi:
apiKeyConfig

object (ApiKeyConfig)

Facoltativo. Configurazione per l'autenticazione della chiave API.

oauthConfig

object (OAuthConfig)

Facoltativo. Configurazione per OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Facoltativo. Configurazione per l'autenticazione con token ID generato dall'agente di servizio CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Facoltativo. Configurazione per l'autenticazione del account di servizio.

bearerTokenConfig

object (BearerTokenConfig)

Facoltativo. Configurazione per l'autenticazione con token di connessione.

ApiKeyConfig

Rappresentazione JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Campi
keyName

string

Obbligatorio. Il nome del parametro o dell'intestazione della chiave API. Ad esempio, Se la richiesta API è "https://example.com/act?X-Api-Key=", "X-Api-Key" sarà il nome del parametro.

apiKeySecretVersion

string

Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia la chiave API. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: devi concedere il ruolo roles/secretmanager.secretAccessor al service agent CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Obbligatorio. Posizione della chiave nella richiesta.

OAuthConfig

Rappresentazione JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Campi
oauthGrantType

enum (OauthGrantType)

Obbligatorio. Tipi di autorizzazione con OAuth.

clientId

string

Obbligatorio. L'ID client del provider OAuth.

clientSecretVersion

string

Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia il client secret. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: devi concedere il ruolo roles/secretmanager.secretAccessor al service agent CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obbligatorio. L'endpoint del token nel provider OAuth da scambiare con un token di accesso.

scopes[]

string

Facoltativo. Gli ambiti OAuth da concedere.

ServiceAccountAuthConfig

Rappresentazione JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Campi
serviceAccount

string

Obbligatorio. L'indirizzo email del account di servizio utilizzato per l'autenticazione. CES utilizza questo account di servizio per scambiare un token di accesso, che viene poi inviato nell'intestazione Authorization della richiesta.

All'account di servizio deve essere concesso il ruolo roles/iam.serviceAccountTokenCreator all'agente di servizio CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Facoltativo. Gli ambiti OAuth da concedere. Se non specificato, viene utilizzato l'ambito predefinito https://www.googleapis.com/auth/cloud-platform.

BearerTokenConfig

Rappresentazione JSON
{
  "token": string
}
Campi
token

string

Obbligatorio. Il token di connessione. Deve essere nel formato $context.variables.<name_of_variable>.

TlsConfig

Rappresentazione JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Campi
caCerts[]

object (CaCert)

Obbligatorio. Specifica un elenco di certificati CA personalizzati consentiti per la verifica HTTPS.

CaCert

Rappresentazione JSON
{
  "displayName": string,
  "cert": string
}
Campi
displayName

string

Obbligatorio. Il nome dei certificati CA personalizzati consentiti. Può essere utilizzato per disambiguare i certificati CA personalizzati.

cert

string (bytes format)

Obbligatorio. I certificati CA personalizzati consentiti (in formato DER) per la verifica HTTPS. Esegue l'override dell'archivio di attendibilità SSL predefinito. Se questo campo è vuoto o non specificato, CES utilizzerà l'archivio di attendibilità predefinito di Google per verificare i certificati. Nota: assicurati che i certificati del server HTTPS siano firmati con "subject alt name". Ad esempio, un certificato può essere autofirmato utilizzando il seguente 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'")

Una stringa con codifica in base64.

ServiceDirectoryConfig

Rappresentazione JSON
{
  "service": string
}
Campi
service

string

Obbligatorio. Il nome del servizio Service Directory. Formato: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. La posizione della directory dei servizi deve corrispondere a quella dell'app.

GoogleSearchTool

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
Campi
name

string

Obbligatorio. Il nome dello strumento.

description

string

Facoltativo. Descrizione dello scopo dello strumento.

contextUrls[]

string

Facoltativo. I contenuti verranno recuperati direttamente da questi URL per il contesto e la base. Esempio: "https://example.com/path.html". Sono consentiti al massimo 20 URL.

preferredDomains[]

string

Facoltativo. Specifica i domini a cui limitare i risultati di ricerca. Esempio: "example.com", "another.site". È possibile specificare un massimo di 20 domini.

excludeDomains[]

string

Facoltativo. Elenco dei domini da escludere dai risultati di ricerca. Esempio: "example.com". È possibile escludere un massimo di 2000 domini.

promptConfig

object (PromptConfig)

Facoltativo. Istruzioni del prompt trasmesse al planner su come devono essere elaborati i risultati di ricerca per il testo e la voce.

PromptConfig

Rappresentazione JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Campi
textPrompt

string

Facoltativo. Definisce il prompt utilizzato per le istruzioni di sistema quando interagisci con l'agente nelle conversazioni di chat. Se non impostato, verrà utilizzato il prompt predefinito.

voicePrompt

string

Facoltativo. Definisce il prompt utilizzato per le istruzioni di sistema quando interagisci con l'agente nelle conversazioni vocali. Se non impostato, verrà utilizzato il prompt predefinito.

ConnectorTool

Rappresentazione JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Campi
connection

string

Obbligatorio. Il nome completo della risorsa della connessione Integration Connectors a cui viene fatto riferimento. Formato: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Obbligatorio. Azione da utilizzare per lo strumento.

authConfig

object (EndUserAuthConfig)

Facoltativo. Configura la gestione dell'autenticazione in Integration Connectors. Per impostazione predefinita, un'autenticazione amministratore viene trasmessa nelle richieste dell'API Integration Connectors. Puoi ignorarlo con una configurazione di autenticazione dell'utente finale diversa. Nota: per specificare una configurazione EUC qui, l'override dell'autenticazione deve essere abilitato nella connessione. In caso contrario, la creazione di ConnectorTool non riuscirà. Per i dettagli, vedi https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override.

name

string

Facoltativo. Il nome dello strumento che può essere utilizzato dall'agente per decidere se chiamare questo ConnectorTool.

description

string

Facoltativo. La descrizione dello strumento che può essere utilizzata dall'agente per decidere se chiamare questo ConnectorTool.

Azione

Rappresentazione 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.
}
Campi
inputFields[]

string

Facoltativo. Campi dell'entità da utilizzare come input per l'operazione. Se non vengono specificati campi, verranno utilizzati tutti i campi dell'entità.

outputFields[]

string

Facoltativo. Campi dell'entità da restituire dall'operazione. Se non vengono specificati campi, vengono restituiti tutti i campi dell'entità.

Campo unione action_spec. Specifica di un'azione da configurare per l'utilizzo dello strumento. action_spec può essere solo uno dei seguenti tipi:
connectionActionId

string

ID di un'azione di connessione da utilizzare per lo strumento.

entityOperation

object (EntityOperation)

Configurazione dell'operazione dell'entità da utilizzare per lo strumento.

EntityOperation

Rappresentazione JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Campi
entityId

string

Obbligatorio. ID dell'entità.

operation

enum (OperationType)

Obbligatorio. Operazione da eseguire sull'entità.

EndUserAuthConfig

Rappresentazione 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.
}
Campi
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Autenticazione del codice di autorizzazione OAuth 2.0.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Autenticazione della concessione di autorizzazione OAuth 2.0 del profilo JWT.

Oauth2AuthCodeConfig

Rappresentazione JSON
{
  "oauthToken": string
}
Campi
oauthToken

string

Obbligatorio. Nome del parametro del token OAuth da trasferire. Deve essere nel formato $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Rappresentazione JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Campi
issuer

string

Obbligatorio. Nome del parametro dell'emittente da trasferire. Deve essere nel formato $context.variables.<name_of_variable>.

subject

string

Obbligatorio. Nome del parametro oggetto da trasferire. Deve essere nel formato $context.variables.<name_of_variable>.

clientKey

string

Obbligatorio. Nome del parametro client da trasferire. Deve essere nel formato $context.variables.<name_of_variable>.

DataStoreTool

Rappresentazione 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.
}
Campi
name

string

Obbligatorio. Il nome dello strumento datastore.

description

string

Facoltativo. La descrizione dello strumento.

boostSpecs[]

object (BoostSpecs)

Facoltativo. Migliora le specifiche per dare priorità a determinati documenti.

modalityConfigs[]

object (ModalityConfig)

Facoltativo. Le configurazioni della modalità per il datastore.

filterParameterBehavior

enum (FilterParameterBehavior)

Facoltativo. Il comportamento del parametro di filtro.

Campo unione search_source. Definisce l'origine della ricerca, ovvero un singolo datastore o un motore. search_source può essere solo uno dei seguenti tipi:
dataStoreSource

object (DataStoreSource)

Facoltativo. Eseguire ricerche all'interno di un singolo DataStore specifico.

engineSource

object (EngineSource)

Facoltativo. Cerca all'interno di un motore (potenzialmente in più datastore).

DataStoreSource

Rappresentazione JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Campi
filter

string

Facoltativo. Specifica del filtro per il datastore. Vedi: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Facoltativo. Il datastore.

DataStore

Rappresentazione JSON
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
Campi
name

string

Obbligatorio. Nome completo della risorsa del datastore. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

Solo output. Il tipo di datastore. Questo campo è di sola lettura e viene compilato dal server.

documentProcessingMode

enum (DocumentProcessingMode)

Solo output. La modalità di elaborazione dei documenti per la connessione del datastore. Impostato solo per i datastore PUBLIC_WEB e UNSTRUCTURED.

displayName

string

Solo output. Il nome visualizzato del datastore.

createTime

string (Timestamp format)

Solo output. Timestamp di creazione del datastore.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

connectorConfig

object (ConnectorConfig)

Solo output. La configurazione del connettore per la connessione al datastore.

Timestamp

Rappresentazione JSON
{
  "seconds": string,
  "nanos": integer
}
Campi
seconds

string (int64 format)

Rappresenta i secondi di tempo UTC dall'epoca Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z).

nanos

integer

Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori non negativi dei nanosecondi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi.

ConnectorConfig

Rappresentazione JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Campi
collection

string

Il nome della risorsa della raccolta a cui appartiene il datastore.

collectionDisplayName

string

Nome visualizzato della raccolta a cui appartiene il datastore.

dataSource

string

Il nome dell'origine dati. Esempio: salesforce, jira, confluence, bigquery.

EngineSource

Rappresentazione JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
Campi
engine

string

Obbligatorio. Nome completo della risorsa del motore. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

Facoltativo. Utilizza questo campo per scegliere come target DataStore specifici all'interno del motore. Se vuoto, la ricerca viene applicata a tutti i Data Store associati al motore.

filter

string

Facoltativo. Un filtro applicato alla ricerca nel motore. Non pertinente e non utilizzato se viene fornito "data_store_sources". Vedi: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

Rappresentazione JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
Campi
dataStores[]

string

Obbligatorio. Il datastore in cui viene applicata la configurazione del boosting. Nome completo della risorsa DataStore, ad esempio projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (BoostSpec)

Obbligatorio. Un elenco di specifiche di boosting.

BoostSpec

Rappresentazione JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Campi
conditionBoostSpecs[]

object (ConditionBoostSpec)

Obbligatorio. Un elenco di specifiche di boosting.

ConditionBoostSpec

Rappresentazione JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Campi
condition

string

Obbligatorio. Un'espressione che specifica una condizione di aumento. La sintassi è la stessa delle espressioni di filtro. Al momento, l'unica condizione supportata è un elenco di codici lingua BCP-47. Esempio: per aumentare i suggerimenti nelle lingue inglese o francese: (lang_code: ANY("en", "fr"))

boost

number

Facoltativo. L'intensità del boost, che deve essere compresa tra -1 e 1. Un boosting negativo indica una retrocessione. Il valore predefinito è 0.0.

Se il boosting viene impostato su 1.0, i suggerimenti vengono promossi maggiormente. Tuttavia, non significa necessariamente che il risultato in cima alla prima pagina sarà un suggerimento con boosting.

Se viene impostato su -1.0, i suggerimenti vengono declassati in modo significativo. Tuttavia, potrebbero comunque essere mostrati altri suggerimenti pertinenti.

Se il valore è impostato su 0,0, non viene applicato alcun boost. La condizione di incremento viene ignorata.

boostControlSpec

object (BoostControlSpec)

Facoltativo. Specifica complessa per il ranking personalizzato in base al valore dell'attributo definito dal cliente.

BoostControlSpec

Rappresentazione JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campi
fieldName

string

Facoltativo. Il nome del campo il cui valore verrà utilizzato per determinare l'importo dell'aggiustamento.

attributeType

enum (AttributeType)

Facoltativo. Il tipo di attributo da utilizzare per determinare l'importo del boost. Il valore dell'attributo può essere derivato dal valore del campo field_name specificato. Nel caso di valori numerici, è semplice, ad esempio attribute_value = numerical_field_value. Nel caso della freschezza, attribute_value = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Facoltativo. Il tipo di interpolazione da applicare per collegare i punti di controllo elencati di seguito.

controlPoints[]

object (ControlPoint)

Facoltativo. I punti di controllo utilizzati per definire la curva. La funzione monotona (definita tramite interpolation_type sopra) passa attraverso i punti di controllo elencati qui.

ControlPoint

Rappresentazione JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campi
attributeValue

string

Facoltativo. Può corrispondere a uno dei seguenti valori: 1. Il valore del campo numerico. 2. La specifica della durata per l'aggiornamento: il valore deve essere formattato come valore XSD dayTimeDuration (un sottoinsieme limitato di un valore di durata ISO 8601). Il pattern è: [nD][T[nH][nM][nS]].

boostAmount

number

Facoltativo. Il valore compreso tra -1 e 1 in base al quale aumentare il punteggio se attribute_value restituisce il valore specificato sopra.

ModalityConfig

Rappresentazione JSON
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "snippetsConfig": {
    object (SnippetsConfig)
  }
}
Campi
modalityType

enum (ModalityType)

Obbligatorio. Il tipo di modalità.

rewriterConfig

object (RewriterConfig)

Facoltativo. La configurazione dello strumento di riscrittura.

summarizationConfig

object (SummarizationConfig)

Facoltativo. La configurazione del riepilogo.

groundingConfig

object (GroundingConfig)

Facoltativo. La configurazione di messa a terra.

snippetsConfig

object (SnippetsConfig)

Facoltativo. La configurazione degli snippet.

RewriterConfig

Rappresentazione JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campi
modelSettings

object (ModelSettings)

Obbligatorio. Configurazioni per il modello LLM.

prompt

string

Facoltativo. La definizione del prompt. Se non impostato, verrà utilizzato il prompt predefinito.

disabled

boolean

Facoltativo. Indica se il rewriter è disattivato.

ModelSettings

Rappresentazione 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.
}
Campi
model

string

Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non è impostato, l'agente erediterà il modello dall'agente principale.

Campo unione _temperature.

_temperature può essere solo uno dei seguenti tipi:

temperature

number

Facoltativo. Se impostata, questa temperatura verrà utilizzata per il modello LLM. La temperatura controlla la casualità delle risposte del modello. Le temperature più basse producono risposte più prevedibili. Le temperature più alte producono risposte più creative.

SummarizationConfig

Rappresentazione JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campi
modelSettings

object (ModelSettings)

Facoltativo. Configurazioni per il modello LLM.

prompt

string

Facoltativo. La definizione del prompt. Se non impostato, verrà utilizzato il prompt predefinito.

disabled

boolean

Facoltativo. Indica se il riepilogo è disattivato.

GroundingConfig

Rappresentazione JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Campi
groundingLevel

number

Facoltativo. La soglia di fondatezza della risposta in base alle fonti recuperate. Il valore ha un intervallo configurabile di [1, 5]. Il livello viene utilizzato per impostare una soglia per la fondatezza della risposta, il che significa che tutte le risposte con un punteggio di fondatezza inferiore alla soglia torneranno a restituire solo snippet pertinenti.

Ad esempio, un livello 3 significa che il punteggio di fondatezza deve essere pari o superiore a 3 affinché la risposta venga restituita.

disabled

boolean

Facoltativo. Indica se la base è disattivata.

SnippetsConfig

Rappresentazione JSON
{
  "enableSnippets": boolean
}
Campi
enableSnippets

boolean

Facoltativo. Se gli snippet sono abilitati.

PythonFunction

Rappresentazione JSON
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Campi
name

string

Facoltativo. Il nome della funzione Python da eseguire. Deve corrispondere al nome di una funzione Python definita nel codice Python. Sensibile alle maiuscole. Se il nome non viene fornito, verrà utilizzata la prima funzione definita nel codice Python.

pythonCode

string

Facoltativo. Il codice Python da eseguire per lo strumento.

description

string

Solo output. La descrizione della funzione Python, analizzata dalla docstring del codice Python.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione di Service Directory per lo strumento.

McpTool

Rappresentazione 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)
}
Campi
name

string

Obbligatorio. Il nome dello strumento MCP.

nameOverride

string

Facoltativo. L'override del nome dello strumento MCP. Questo campo viene compilato se il nome è stato sostituito da un override del toolset.

description

string

Facoltativo. La descrizione dello strumento MCP.

inputSchema

object (Schema)

Facoltativo. Lo schema degli argomenti di input dello strumento MCP.

outputSchema

object (Schema)

Facoltativo. Lo schema degli argomenti di output dello strumento MCP.

serverAddress

string

Obbligatorio. L'indirizzo del server MCP, ad esempio "https://example.com/mcp/". Se il server è creato con l'SDK MCP, l'URL deve avere il suffisso "/mcp/". Sono supportati solo i server basati sul trasporto HTTP in streaming. È uguale a server_address in McpToolset. Per ulteriori dettagli, consulta la pagina https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http.

apiAuthentication

object (ApiAuthentication)

Facoltativo. Informazioni di autenticazione necessarie per eseguire lo strumento sul server MCP. Per l'autenticazione con token di autenticazione, il token si applica solo all'esecuzione dello strumento, non agli strumenti di elenco. Ciò richiede che gli strumenti possano essere elencati senza autenticazione.

tlsConfig

object (TlsConfig)

Facoltativo. La configurazione TLS. Include i certificati del server personalizzati che il client deve considerare attendibili.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione di Service Directory per VPC-SC, utilizzata per risolvere i nomi dei servizi all'interno di un perimetro.

customHeaders

map (key: string, value: string)

Facoltativo. Le intestazioni personalizzate da inviare nella richiesta al server MCP. I valori devono essere nel formato $context.variables.<name_of_variable> e possono essere impostati nelle variabili di sessione. Per maggiori dettagli, visita la pagina https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (State)

Solo output. Lo stato di disponibilità dinamica dello strumento sul server esterno.

CustomHeadersEntry

Rappresentazione JSON
{
  "key": string,
  "value": string
}
Campi
key

string

value

string

FileSearchTool

Rappresentazione JSON
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Campi
corpusType

enum (CorpusType)

Facoltativo. Il tipo di corpus. Il valore predefinito è FULLY_MANAGED.

name

string

Obbligatorio. Il nome dello strumento.

description

string

Facoltativo. La descrizione dello strumento.

fileCorpus

string

Facoltativo. Il corpus in cui sono archiviati i file. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

Rappresentazione JSON
{
  "name": string,
  "description": string
}
Campi
name

string

Obbligatorio. Il nome dello strumento di sistema.

description

string

Solo output. La descrizione dello strumento di sistema.

AgentTool

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "agent": string
}
Campi
name

string

Obbligatorio. Il nome dello strumento dell'agente.

description

string

Facoltativo. Descrizione dello scopo dello strumento.

agent

string

Facoltativo. Il nome della risorsa dell'agente che è il punto di ingresso dello strumento. Formato: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Rappresentazione 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.
}
Campi
name

string

Obbligatorio. Il nome visualizzato dello strumento widget.

description

string

Facoltativo. La descrizione dello strumento widget.

widgetType

enum (WidgetType)

Facoltativo. Il tipo di strumento widget. Se non specificato, il tipo predefinito sarà CUSTOMIZED.

uiConfig

object (Struct format)

Facoltativo. Configurazione per il rendering del widget.

dataMapping

object (DataMapping)

Facoltativo. Il mapping che definisce come i dati di uno strumento di origine vengono mappati ai parametri di input del widget.

textResponseConfig

object (TextResponseConfig)

Facoltativo. Configurazione per le risposte di testo sempre incluse.

Campo unione input. L'input dello strumento widget. input può essere solo uno dei seguenti tipi:
parameters

object (Schema)

Facoltativo. I parametri di input dello strumento widget.

DataMapping

Rappresentazione JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (Mode),
  "pythonScript": string
}
Campi
sourceToolName

string

Facoltativo. Il nome della risorsa dello strumento che fornisce i dati per il widget (ad es. uno strumento di ricerca o una funzione personalizzata). Formato: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Facoltativo. Una mappa dei campi dei parametri di input del widget ai campi di output corrispondenti dello strumento di origine.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

pythonFunction

object (PythonFunction)

Facoltativo. Configurazione per una funzione Python utilizzata per trasformare l'output dello strumento di origine nel formato di input del widget.

mode

enum (Mode)

Facoltativo. La modalità di mappatura dei dati.

pythonScript
(deprecated)

string

Deprecato: utilizza python_function.

FieldMappingsEntry

Rappresentazione JSON
{
  "key": string,
  "value": string
}
Campi
key

string

value

string

TextResponseConfig

Rappresentazione JSON
{
  "type": enum (Type),
  "staticText": string,
  "textResponseInstruction": string
}
Campi
type

enum (Type)

Facoltativo. La strategia per fornire la risposta di testo.

staticText

string

Facoltativo. La risposta di testo statica da restituire quando il tipo è STATIC.

textResponseInstruction

string

Facoltativo. Istruzioni per l'LLM su come generare la risposta di testo. Utilizzato come descrizione del parametro di risposta di testo se il tipo è LLM_GENERATED.

RemoteAgentTool

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  }
}
Campi
name

string

Obbligatorio. Il nome dello strumento.

description

string

Obbligatorio. La descrizione dello strumento.

agentCard

object (AgentCard)

Obbligatorio. La scheda dell'agente remoto richiamato da questo strumento.

AgentCard

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Campi
name

string

Obbligatorio. Un nome leggibile per l'agente.

description

string

Obbligatorio. Una descrizione del dominio di azione/spazio delle soluzioni dell'agente.

supportedInterfaces[]

object (AgentInterface)

Obbligatorio. Elenco ordinato delle interfacce supportate. Viene preferita la prima voce.

version

string

Obbligatorio. La versione dell'agente.

skills[]

object (AgentSkill)

Obbligatorio. Le skill rappresentano un'unità di capacità che un agente può eseguire. Potrebbe sembrare un po' astratto, ma rappresenta un insieme più mirato di azioni che l'agente ha molte probabilità di portare a termine.

AgentInterface

Rappresentazione JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Campi
url

string

Obbligatorio. L'URL in cui è disponibile questa interfaccia. Deve essere un URL HTTPS assoluto valido nell'ambiente di produzione. Esempio: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Obbligatorio. Il binding del protocollo supportato a questo URL. Si tratta di una stringa di formato aperto, facilmente estendibile per altri binding di protocollo. Quelli principali supportati ufficialmente sono JSONRPC, GRPC e HTTP+JSON.

tenant

string

ID tenant da utilizzare nella richiesta quando chiami l'agente.

protocolVersion

string

Obbligatorio. La versione del protocollo A2A esposta da questa interfaccia. Utilizza l'ultima versione secondaria supportata per ogni versione principale. Esempi: "0.3", "1.0"

AgentSkill

Rappresentazione JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Campi
id

string

Obbligatorio. Un identificatore univoco per la competenza dell'agente.

name

string

Obbligatorio. Un nome leggibile per la competenza.

description

string

Obbligatorio. Una descrizione dettagliata della skill.

tags[]

string

Obbligatorio. Un insieme di parole chiave che descrivono le funzionalità della skill.

examples[]

string

Esempi di prompt o scenari che questa skill può gestire.

inputModes[]

string

Il set di tipi di contenuti multimediali di input supportati per questa skill, che sostituisce i valori predefiniti dell'agente.

outputModes[]

string

L'insieme dei tipi di contenuti multimediali di output supportati per questa skill, che sostituiscono i valori predefiniti dell'agente.

Durata

Rappresentazione JSON
{
  "seconds": string,
  "nanos": integer
}
Campi
seconds

string (int64 format)

Secondi firmati dell'intervallo di tempo. Deve essere compreso tra -315.576.000.000 e +315.576.000.000 inclusi. Nota: questi limiti vengono calcolati in base a: 60 sec/min * 60 min/ora * 24 ore/giorno * 365,25 giorni/anno * 10.000 anni

nanos

integer

Frazioni di secondo con segno con risoluzione in nanosecondi dell'intervallo di tempo. Le durate inferiori a un secondo sono rappresentate con un campo seconds pari a 0 e un campo nanos positivo o negativo. Per durate di un secondo o più, un valore diverso da zero per il campo nanos deve avere lo stesso segno del campo seconds. Deve essere compreso tra -999.999.999 e +999.999.999 inclusi.

ToolFakeConfig

Rappresentazione 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.
}
Campi
enableFakeMode

boolean

Facoltativo. Indica se lo strumento utilizza la modalità Falso.

Campo unione tool_response. La risposta è statica o fornita da una funzione Python. tool_response può essere solo uno dei seguenti tipi:
codeBlock

object (CodeBlock)

Facoltativo. Blocco di codice che verrà eseguito al posto di una chiamata allo strumento reale.

CodeBlock

Rappresentazione JSON
{
  "pythonCode": string
}
Campi
pythonCode

string

Obbligatorio. Codice Python che verrà richiamato in modalità di simulazione dello strumento. Firma della funzione Python prevista: per intercettare tutte le chiamate di strumenti: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: per intercettare una chiamata di strumento specifica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: se la funzione restituisce None, verrà richiamato lo strumento reale.

Tipo

Tipi di dati OpenAPI.

Enum
TYPE_UNSPECIFIED Tipo non specificato.
STRING Tipo di stringa.
INTEGER Tipo di numero intero.
NUMBER Tipo di numero.
BOOLEAN Tipo booleano.
OBJECT Tipo di oggetto.
ARRAY Tipo di array.

NullValue

Rappresenta un null JSON.

NullValue è un sentinel che utilizza un'enumerazione con un solo valore per rappresentare il valore nullo per l'unione di tipi Value.

Un campo di tipo NullValue con un valore diverso da 0 è considerato non valido. La maggior parte dei serializzatori ProtoJSON emetterà un Value con un null_value impostato come null JSON indipendentemente dal valore intero, quindi verrà eseguito l'andata e ritorno a un valore 0.

Enum
NULL_VALUE Valore nullo.

RequestLocation

La posizione della chiave API nella richiesta.

Enum
REQUEST_LOCATION_UNSPECIFIED Non specificato. Questo valore non deve essere utilizzato.
HEADER Rappresenta la chiave nell'intestazione HTTP.
QUERY_STRING Rappresenta la chiave nella stringa di query.

OauthGrantType

Tipi di autorizzazione con OAuth. È supportata solo la concessione delle credenziali client.

Enum
OAUTH_GRANT_TYPE_UNSPECIFIED Non specificato. Il valore predefinito è CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Rappresenta il flusso delle credenziali client.

OperationType

L'operazione da eseguire sull'entità.

Enum
OPERATION_TYPE_UNSPECIFIED Tipo di operazione non specificato. Non valido, la creazione/l'aggiornamento di ConnectorTool non riuscirà.
LIST Elenco operazioni.
GET Recupera operazione.
CREATE Crea operazione.
UPDATE Operazione di aggiornamento.
DELETE Operazione di eliminazione.

DataStoreType

Il tipo di datastore.

Enum
DATA_STORE_TYPE_UNSPECIFIED Non specificato. Questo valore indica che il tipo di datastore non è specificato, quindi non verrà utilizzato durante la ricerca.
PUBLIC_WEB Un datastore che contiene contenuti web pubblici.
UNSTRUCTURED Un datastore che contiene dati privati non strutturati.
FAQ Un datastore che contiene dati strutturati utilizzati come domande frequenti.
CONNECTOR Un datastore che è un connettore a un servizio proprietario o di terze parti.

DocumentProcessingMode

La modalità di elaborazione dei documenti del datastore.

Enum
DOCUMENT_PROCESSING_MODE_UNSPECIFIED Non specificato.
DOCUMENTS I documenti vengono elaborati come documenti.
CHUNKS I documenti vengono convertiti in blocchi.

AttributeType

L'attributo(o la funzione) a cui deve essere applicato il ranking personalizzato.

Enum
ATTRIBUTE_TYPE_UNSPECIFIED Tipo di attributo non specificato.
NUMERICAL Il valore del campo numerico verrà utilizzato per aggiornare dinamicamente l'importo dell'incremento. In questo caso, l'attributo_value (il valore x) del punto di controllo sarà il valore effettivo del campo numerico per cui è specificato boost_amount.
FRESHNESS Per il caso d'uso della freschezza, il valore dell'attributo sarà la durata tra l'ora corrente e la data nel campo datetime specificato. Il valore deve essere formattato come valore XSD dayTimeDuration (un sottoinsieme limitato di un valore di durata ISO 8601). Il pattern è: [nD][T[nH][nM][nS]]. Ad esempio, 5D, 3DT12H30M, T24H.

InterpolationType

Il tipo di interpolazione da applicare. Il valore predefinito sarà lineare (lineare a tratti).

Enum
INTERPOLATION_TYPE_UNSPECIFIED Il tipo di interpolazione non è specificato. In questo caso, il valore predefinito è Lineare.
LINEAR Verrà applicata l'interpolazione lineare a tratti.

ModalityType

Il tipo di modalità.

Enum
MODALITY_TYPE_UNSPECIFIED Tipo di modalità non specificato.
TEXT Modalità testo.
AUDIO Modalità audio.

FilterParameterBehavior

Comportamento dei parametri di filtro.

Enum
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Comportamento predefinito del filtro. Includi il parametro filtro di inclusione per i datastore del connettore. Per gli altri tipi di datastore, il parametro di input del filtro viene omesso.
ALWAYS_INCLUDE Includi sempre il parametro di filtro per tutti i tipi di datastore.
NEVER_INCLUDE Il parametro di filtro non è mai incluso nell'elenco dei parametri dello strumento, indipendentemente dal tipo di datastore.

Stato

Rappresenta lo stato di disponibilità dinamica dello strumento.

Enum
STATE_UNSPECIFIED Stato predefinito.
ACTIVE Lo strumento è disponibile e offerto attivamente dal server.
INACTIVE Lo strumento è configurato o bloccato, ma al momento non è offerto dal server.
STALE Lo strumento esiste sul server, ma non corrisponde alla versione sul server.

CorpusType

Il tipo di corpus Vertex RAG.

Enum
CORPUS_TYPE_UNSPECIFIED Tipo di corpus non specificato.
USER_OWNED Il corpus viene creato e di proprietà dell'utente.
FULLY_MANAGED Il corpus viene creato dall'agente.

WidgetType

Tutti i tipi di widget disponibili. In futuro potrebbero essere aggiunti nuovi valori a questa enumerazione.

Enum
WIDGET_TYPE_UNSPECIFIED Tipo di widget non specificato.
CUSTOM Tipo di widget personalizzato.
PRODUCT_DETAILS Widget Dettagli prodotto.
QUICK_ACTIONS Widget Azioni rapide.
PRODUCT_COMPARISON Widget di confronto dei prodotti.
ADVANCED_PRODUCT_DETAILS Widget Dettagli del prodotto avanzati.
SHORT_FORM Widget per il formato breve.
OVERALL_SATISFACTION Widget di soddisfazione generale.
ORDER_SUMMARY Widget Riepilogo ordine.
APPOINTMENT_DETAILS Widget dei dettagli dell'appuntamento.
APPOINTMENT_SCHEDULER Widget per la pianificazione degli appuntamenti.
CONTACT_FORM Widget modulo di contatto.

Modalità

La strategia utilizzata per mappare i dati dallo strumento di origine al widget.

Enum
MODE_UNSPECIFIED Modalità non specificata.
FIELD_MAPPING Utilizza la mappa field_mappings per la trasformazione dei dati.
PYTHON_SCRIPT Utilizza python_script per la trasformazione dei dati.

Tipo

Definisce come viene prodotta la risposta testuale.

Enum
TYPE_UNSPECIFIED Tipo non specificato.
NONE L'LLM decide dinamicamente se generare una risposta di testo insieme al widget in base al contesto della conversazione.
LLM_GENERATED Il modello LLM è esplicitamente tenuto a generare una risposta di testo.
STATIC Viene sempre utilizzata una risposta di testo statico predefinita.

ExecutionType

Il tipo di esecuzione dello strumento o del set di strumenti.

Enum
EXECUTION_TYPE_UNSPECIFIED Il tipo di esecuzione non è specificato. Se non specificato, il valore predefinito è SYNCHRONOUS.
SYNCHRONOUS Lo strumento viene eseguito in modo sincrono. La sessione è bloccata fino al ritorno dello strumento.
ASYNCHRONOUS Lo strumento viene eseguito in modo asincrono. La sessione continuerà durante l'esecuzione dello strumento.

Annotazioni dello strumento

Suggerimento distruttivo: ✅ | Suggerimento idempotente: ❌ | Suggerimento di sola lettura: ❌ | Suggerimento open world: ❌