MCP Tools Reference: ces.googleapis.com

Strumento: create_agent

Crea un nuovo agente nell'app specificata.

Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP create_agent.

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_agent",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schema di input

CreateAgentRequest

Rappresentazione JSON
{
  "parent": string,
  "agentId": string,
  "agent": {
    object (Agent)
  }
}
Campi
parent

string

Obbligatorio. Il nome della risorsa dell'app in cui creare un agente.

agentId

string

Facoltativo. L'ID da utilizzare per l'agente, che diventerà il componente finale del nome della risorsa dell'agente. Se non viene fornito, all'agente verrà assegnato automaticamente un ID univoco.

agent

object (Agent)

Obbligatorio. L'agente da creare.

Agente

Rappresentazione JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "modelSettings": {
    object (ModelSettings)
  },
  "instruction": string,
  "tools": [
    string
  ],
  "childAgents": [
    string
  ],
  "beforeAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "guardrails": [
    string
  ],
  "etag": string,
  "toolsets": [
    {
      object (AgentToolset)
    }
  ],
  "generatedSummary": string,
  "transferRules": [
    {
      object (TransferRule)
    }
  ],
  "validationErrors": [
    string
  ],

  // Union field agent_type can be only one of the following:
  "llmAgent": {
    object (LlmAgent)
  },
  "remoteDialogflowAgent": {
    object (RemoteDialogflowAgent)
  },
  "remoteA2aAgent": {
    object (RemoteA2aAgent)
  }
  // End of list of possible types for union field agent_type.
}
Campi
name

string

Identificatore. L'identificatore univoco dell'agente. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

Obbligatorio. Nome visualizzato dell'agente.

description

string

Facoltativo. Descrizione dell'agente leggibile.

modelSettings

object (ModelSettings)

Facoltativo. Configurazioni per il modello LLM.

instruction

string

Facoltativo. Istruzioni per il modello LLM per guidare il comportamento dell'agente.

tools[]

string

Facoltativo. Elenco degli strumenti disponibili per l'agente. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

Facoltativo. Elenco degli agenti secondari nell'albero degli agenti. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

Facoltativo. Le callback da eseguire prima di chiamare l'agente. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati.

afterAgentCallbacks[]

object (Callback)

Facoltativo. I callback da eseguire dopo la chiamata dell'agente. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati.

beforeModelCallbacks[]

object (Callback)

Facoltativo. I callback da eseguire prima di chiamare il modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati.

afterModelCallbacks[]

object (Callback)

Facoltativo. I callback da eseguire dopo la chiamata al modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati.

beforeToolCallbacks[]

object (Callback)

Facoltativo. Le funzioni di callback da eseguire prima dell'invocazione dello strumento. Se ci sono più chiamate di strumenti, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati.

afterToolCallbacks[]

object (Callback)

Facoltativo. I callback da eseguire dopo l'invocazione dello strumento. Se ci sono più chiamate di strumenti, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati.

createTime

string (Timestamp format)

Solo output. Timestamp di creazione dell'agente.

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 dell'agente.

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".

guardrails[]

string

Facoltativo. Elenco delle barriere protettive per l'agente. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

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.

toolsets[]

object (AgentToolset)

Facoltativo. Elenco dei toolset per l'agente.

generatedSummary

string

Solo output. Se l'agente viene generato dall'assistente LLM, questo campo contiene un riepilogo descrittivo della generazione.

transferRules[]

object (TransferRule)

Facoltativo. Regole di trasferimento dell'agente. Se più regole corrispondono, verrà utilizzata la prima nell'elenco.

validationErrors[]

string

Solo output. Errori o configurazioni errate nell'agente che potrebbero influire sulla qualità dell'agente.

Campo unione agent_type. Il tipo di agente. agent_type può essere solo uno dei seguenti tipi:
llmAgent

object (LlmAgent)

Facoltativo. Il tipo di agente predefinito.

remoteDialogflowAgent

object (RemoteDialogflowAgent)

Facoltativo. L'agente Dialogflow remoto da utilizzare per l'esecuzione dell'agente. Se questo campo è impostato, tutte le altre proprietà a livello di agente verranno ignorate.

Nota: se l'agente Dialogflow si trova in un progetto diverso dall'app, devi concedere roles/dialogflow.client al service agent CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

remoteA2aAgent

object (RemoteA2aAgent)

Facoltativo. L'agente A2A remoto da utilizzare per l'esecuzione dell'agente.

RemoteDialogflowAgent

Rappresentazione JSON
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean,
  "languageCodeVariable": string
}
Campi
agent

string

Obbligatorio. Il nome risorsa dell'agente Dialogflow. Formato: projects/{project}/locations/{location}/agents/{agent}

flowId

string

Facoltativo. L'ID del flusso nell'agente Dialogflow.

environmentId

string

Facoltativo. L'ID ambiente dell'agente Dialogflow da utilizzare per l'esecuzione dell'agente. Se non specificato, verrà utilizzato l'ambiente bozza.

inputVariableMapping

map (key: string, value: string)

Facoltativo. La mappatura dei nomi delle variabili dell'app ai nomi dei parametri di sessione di Dialogflow da inviare all'agente Dialogflow come input.

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

outputVariableMapping

map (key: string, value: string)

Facoltativo. Il mapping dei nomi dei parametri di sessione di Dialogflow ai nomi delle variabili dell'app da inviare di nuovo all'agente CES al termine dell'esecuzione dell'agente Dialogflow.

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

respectResponseInterruptionSettings

boolean

Facoltativo. Indica se rispettare le impostazioni di interruzione a livello di messaggio configurate nell'agente Dialogflow.

  • Se è false: tutti i messaggi di risposta dell'agente Dialogflow seguono le impostazioni di interruzione a livello di app.
  • Se il valore è true, solo i messaggi di risposta con allow_playback_interruption impostato su true saranno interrompibili, tutti gli altri messaggi seguono le impostazioni di interruzione a livello di app.
languageCodeVariable

string

Facoltativo. Il nome della variabile che contiene il codice della lingua da utilizzare per la sessione Dialogflow. Se non specificato, verrà utilizzato il codice lingua predefinito dell'agente Dialogflow.

InputVariableMappingEntry

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

string

value

string

OutputVariableMappingEntry

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

string

value

string

RemoteA2aAgent

Rappresentazione JSON
{
  "a2aConfig": {
    object (RemoteA2aConfig)
  }
}
Campi
a2aConfig

object (RemoteA2aConfig)

Obbligatorio. La configurazione della connessione A2A.

RemoteA2aConfig

Rappresentazione JSON
{
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "streamingEnabled": boolean,
  "contextId": string,

  // Union field agent_spec can be only one of the following:
  "agentCard": {
    object (AgentCard)
  },
  "agentRegistry": string
  // End of list of possible types for union field agent_spec.
}
Campi
apiAuthentication

object (ApiAuthentication)

Facoltativo. Configurazione dell'autenticazione per chiamare l'agente remoto. Facoltativo se il riferimento al registro gestisce già l'autenticazione.

inputVariableMapping

map (key: string, value: string)

Facoltativo. Mapping dei nomi delle variabili di input dell'agente remoto ai nomi delle variabili GECX.

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

outputVariableMapping

map (key: string, value: string)

Facoltativo. Mappatura dei nomi delle variabili di output dell'agente remoto ai nomi delle variabili GECX.

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

streamingEnabled

boolean

Facoltativo. Indica se lo streaming è abilitato per l'agente remoto.

contextId

string

Facoltativo. Se non è vuoto, le interazioni con l'agente A2A remoto utilizzeranno questo ID contesto. Questo campo context_id può fare riferimento a una variabile di sessione come $context.variables.order_agent_session_id.

Campo unione agent_spec. Specifica dell'agente remoto. agent_spec può essere solo uno dei seguenti tipi:
agentCard

object (AgentCard)

Facoltativo. La scheda dell'agente completa definita in linea.

agentRegistry

string

Facoltativo. Riferimento all'agente in Agent Registry. Formato: projects/{project}/locations/{location}/agents/{agent}

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 di 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 in produzione. Esempio: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Obbligatorio. L'associazione del protocollo supportata in 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

L'insieme dei tipi di media di input supportati per questa skill, che sostituiscono i valori predefiniti dell'agente.

outputModes[]

string

Il set di tipi di media di output supportati per questa skill, che sostituisce i valori predefiniti dell'agente.

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 all'agente di servizio 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 fornitore 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 all'agente di servizio 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>.

InputVariableMappingEntry

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

string

value

string

OutputVariableMappingEntry

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

string

value

string

ModelSettings

Rappresentazione JSON
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // 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 viene impostato, l'agente erediterà il modello dal relativo agente principale.

thinkingLevel

enum (ThinkingLevel)

Facoltativo. Il livello di ragionamento del modello.

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.

Callback

Rappresentazione JSON
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
Campi
description

string

Facoltativo. Descrizione leggibile del callback.

disabled

boolean

Facoltativo. Se il richiamo è disattivato. I callback disattivati vengono ignorati dall'agente.

proactiveExecutionEnabled

boolean

Facoltativo. Se abilitata, la richiamata verrà eseguita anche sugli output intermedi del modello. Questa impostazione ha effetto solo dopo il callback del modello. ATTIVA CON CAUTELA. In genere, il callback del modello deve essere eseguito solo dopo aver ricevuto tutte le risposte del modello. L'attivazione dell'esecuzione proattiva può avere implicazioni negative sul costo e sulla latenza dell'esecuzione e deve essere attivata solo in rare situazioni.

Campo unione callback. Il callback da eseguire. callback può essere solo uno dei seguenti tipi:
pythonCode

string

Obbligatorio. Il codice Python da eseguire per il callback.

Timestamp

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

string (int64 format)

Rappresenta i secondi di tempo UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (che corrisponde 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 porzione di nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che contano in avanti nel tempo. Il valore deve essere compreso tra 0 e 999.999.999 inclusi.

AgentToolset

Rappresentazione JSON
{
  "toolset": string,
  "toolIds": [
    string
  ]
}
Campi
toolset

string

Obbligatorio. Il nome della risorsa del toolset. Formato: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolIds[]

string

Facoltativo. Gli ID degli strumenti per filtrare il set di strumenti.

TransferRule

Rappresentazione JSON
{
  "childAgent": string,
  "direction": enum (Direction),

  // Union field rule_type can be only one of the following:
  "deterministicTransfer": {
    object (DeterministicTransfer)
  },
  "disablePlannerTransfer": {
    object (DisablePlannerTransfer)
  }
  // End of list of possible types for union field rule_type.
}
Campi
childAgent

string

Obbligatorio. Il nome della risorsa dell'agente secondario a cui si applica la regola. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

direction

enum (Direction)

Obbligatorio. La direzione del trasferimento.

Campo unione rule_type. Il tipo di regola. rule_type può essere solo uno dei seguenti tipi:
deterministicTransfer

object (DeterministicTransfer)

Facoltativo. Una regola che viene trasferita immediatamente all'agente di destinazione quando la condizione è soddisfatta.

disablePlannerTransfer

object (DisablePlannerTransfer)

Facoltativo. Regola che impedisce al pianificatore di trasferire la chiamata all'agente di destinazione.

DeterministicTransfer

Rappresentazione JSON
{

  // Union field condition_type can be only one of the following:
  "expressionCondition": {
    object (ExpressionCondition)
  },
  "pythonCodeCondition": {
    object (PythonCodeCondition)
  }
  // End of list of possible types for union field condition_type.
}
Campi
Campo unione condition_type. La condizione da valutare. condition_type può essere solo uno dei seguenti tipi:
expressionCondition

object (ExpressionCondition)

Facoltativo. Una regola che valuta una condizione di stato della sessione. Se la condizione restituisce il valore true, il trasferimento viene eseguito.

pythonCodeCondition

object (PythonCodeCondition)

Facoltativo. Una regola che utilizza il blocco di codice Python per valutare le condizioni. Se la condizione restituisce il valore true, il trasferimento viene eseguito.

ExpressionCondition

Rappresentazione JSON
{
  "expression": string
}
Campi
expression

string

Obbligatorio. La rappresentazione stringa della condizione cloud.api.Expression.

PythonCodeCondition

Rappresentazione JSON
{
  "pythonCode": string
}
Campi
pythonCode

string

Obbligatorio. Il codice Python da eseguire.

DisablePlannerTransfer

Rappresentazione JSON
{
  "expressionCondition": {
    object (ExpressionCondition)
  }
}
Campi
expressionCondition

object (ExpressionCondition)

Obbligatorio. Se la condizione restituisce il valore true, il pianificatore non potrà essere trasferito all'agente di destinazione.

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.

ThinkingLevel

Configurazione del livello di ragionamento per il modello.

Enum
THINKING_LEVEL_UNSPECIFIED Il livello di ragionamento non è specificato.
DEFAULT Livello di ragionamento predefinito.
LOW Livello di ragionamento basso.
MEDIUM Livello di ragionamento medio.
HIGH Livello di ragionamento elevato.

Direzione

La direzione del trasferimento.

Enum
DIRECTION_UNSPECIFIED Direzione non specificata.
PARENT_TO_CHILD Trasferimento dall'agente principale all'agente secondario.
CHILD_TO_PARENT Trasferimento dall'agente secondario all'agente principale.

Schema di output

Un agente funge da componente di base che fornisce istruzioni al modello linguistico di grandi dimensioni (LLM) per l'esecuzione di attività specifiche.

Agente

Rappresentazione JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "modelSettings": {
    object (ModelSettings)
  },
  "instruction": string,
  "tools": [
    string
  ],
  "childAgents": [
    string
  ],
  "beforeAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "guardrails": [
    string
  ],
  "etag": string,
  "toolsets": [
    {
      object (AgentToolset)
    }
  ],
  "generatedSummary": string,
  "transferRules": [
    {
      object (TransferRule)
    }
  ],
  "validationErrors": [
    string
  ],

  // Union field agent_type can be only one of the following:
  "llmAgent": {
    object (LlmAgent)
  },
  "remoteDialogflowAgent": {
    object (RemoteDialogflowAgent)
  },
  "remoteA2aAgent": {
    object (RemoteA2aAgent)
  }
  // End of list of possible types for union field agent_type.
}
Campi
name

string

Identificatore. L'identificatore univoco dell'agente. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

Obbligatorio. Nome visualizzato dell'agente.

description

string

Facoltativo. Descrizione dell'agente leggibile.

modelSettings

object (ModelSettings)

Facoltativo. Configurazioni per il modello LLM.

instruction

string

Facoltativo. Istruzioni per il modello LLM per guidare il comportamento dell'agente.

tools[]

string

Facoltativo. Elenco degli strumenti disponibili per l'agente. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

Facoltativo. Elenco degli agenti secondari nell'albero degli agenti. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

Facoltativo. Le callback da eseguire prima di chiamare l'agente. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati.

afterAgentCallbacks[]

object (Callback)

Facoltativo. I callback da eseguire dopo la chiamata dell'agente. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati.

beforeModelCallbacks[]

object (Callback)

Facoltativo. I callback da eseguire prima di chiamare il modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati.

afterModelCallbacks[]

object (Callback)

Facoltativo. I callback da eseguire dopo la chiamata al modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati.

beforeToolCallbacks[]

object (Callback)

Facoltativo. Le funzioni di callback da eseguire prima dell'invocazione dello strumento. Se ci sono più chiamate di strumenti, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati.

afterToolCallbacks[]

object (Callback)

Facoltativo. I callback da eseguire dopo l'invocazione dello strumento. Se ci sono più chiamate di strumenti, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati.

createTime

string (Timestamp format)

Solo output. Timestamp di creazione dell'agente.

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 dell'agente.

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".

guardrails[]

string

Facoltativo. Elenco delle barriere protettive per l'agente. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

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.

toolsets[]

object (AgentToolset)

Facoltativo. Elenco dei toolset per l'agente.

generatedSummary

string

Solo output. Se l'agente viene generato dall'assistente LLM, questo campo contiene un riepilogo descrittivo della generazione.

transferRules[]

object (TransferRule)

Facoltativo. Regole di trasferimento dell'agente. Se più regole corrispondono, verrà utilizzata la prima nell'elenco.

validationErrors[]

string

Solo output. Errori o configurazioni errate nell'agente che potrebbero influire sulla qualità dell'agente.

Campo unione agent_type. Il tipo di agente. agent_type può essere solo uno dei seguenti tipi:
llmAgent

object (LlmAgent)

Facoltativo. Il tipo di agente predefinito.

remoteDialogflowAgent

object (RemoteDialogflowAgent)

Facoltativo. L'agente Dialogflow remoto da utilizzare per l'esecuzione dell'agente. Se questo campo è impostato, tutte le altre proprietà a livello di agente verranno ignorate.

Nota: se l'agente Dialogflow si trova in un progetto diverso dall'app, devi concedere roles/dialogflow.client al service agent CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

remoteA2aAgent

object (RemoteA2aAgent)

Facoltativo. L'agente A2A remoto da utilizzare per l'esecuzione dell'agente.

RemoteDialogflowAgent

Rappresentazione JSON
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean,
  "languageCodeVariable": string
}
Campi
agent

string

Obbligatorio. Il nome risorsa dell'agente Dialogflow. Formato: projects/{project}/locations/{location}/agents/{agent}

flowId

string

Facoltativo. L'ID del flusso nell'agente Dialogflow.

environmentId

string

Facoltativo. L'ID ambiente dell'agente Dialogflow da utilizzare per l'esecuzione dell'agente. Se non specificato, verrà utilizzato l'ambiente bozza.

inputVariableMapping

map (key: string, value: string)

Facoltativo. La mappatura dei nomi delle variabili dell'app ai nomi dei parametri di sessione di Dialogflow da inviare all'agente Dialogflow come input.

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

outputVariableMapping

map (key: string, value: string)

Facoltativo. Il mapping dei nomi dei parametri di sessione di Dialogflow ai nomi delle variabili dell'app da inviare di nuovo all'agente CES al termine dell'esecuzione dell'agente Dialogflow.

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

respectResponseInterruptionSettings

boolean

Facoltativo. Indica se rispettare le impostazioni di interruzione a livello di messaggio configurate nell'agente Dialogflow.

  • Se è false: tutti i messaggi di risposta dell'agente Dialogflow seguono le impostazioni di interruzione a livello di app.
  • Se il valore è true, solo i messaggi di risposta con allow_playback_interruption impostato su true saranno interrompibili, tutti gli altri messaggi seguono le impostazioni di interruzione a livello di app.
languageCodeVariable

string

Facoltativo. Il nome della variabile che contiene il codice della lingua da utilizzare per la sessione Dialogflow. Se non specificato, verrà utilizzato il codice lingua predefinito dell'agente Dialogflow.

InputVariableMappingEntry

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

string

value

string

OutputVariableMappingEntry

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

string

value

string

RemoteA2aAgent

Rappresentazione JSON
{
  "a2aConfig": {
    object (RemoteA2aConfig)
  }
}
Campi
a2aConfig

object (RemoteA2aConfig)

Obbligatorio. La configurazione della connessione A2A.

RemoteA2aConfig

Rappresentazione JSON
{
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "streamingEnabled": boolean,
  "contextId": string,

  // Union field agent_spec can be only one of the following:
  "agentCard": {
    object (AgentCard)
  },
  "agentRegistry": string
  // End of list of possible types for union field agent_spec.
}
Campi
apiAuthentication

object (ApiAuthentication)

Facoltativo. Configurazione dell'autenticazione per chiamare l'agente remoto. Facoltativo se il riferimento al registro gestisce già l'autenticazione.

inputVariableMapping

map (key: string, value: string)

Facoltativo. Mapping dei nomi delle variabili di input dell'agente remoto ai nomi delle variabili GECX.

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

outputVariableMapping

map (key: string, value: string)

Facoltativo. Mappatura dei nomi delle variabili di output dell'agente remoto ai nomi delle variabili GECX.

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

streamingEnabled

boolean

Facoltativo. Indica se lo streaming è abilitato per l'agente remoto.

contextId

string

Facoltativo. Se non è vuoto, le interazioni con l'agente A2A remoto utilizzeranno questo ID contesto. Questo campo context_id può fare riferimento a una variabile di sessione come $context.variables.order_agent_session_id.

Campo unione agent_spec. Specifica dell'agente remoto. agent_spec può essere solo uno dei seguenti tipi:
agentCard

object (AgentCard)

Facoltativo. La scheda dell'agente completa definita in linea.

agentRegistry

string

Facoltativo. Riferimento all'agente in Agent Registry. Formato: projects/{project}/locations/{location}/agents/{agent}

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 di 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 in produzione. Esempio: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Obbligatorio. L'associazione del protocollo supportata in 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

L'insieme dei tipi di media di input supportati per questa skill, che sostituiscono i valori predefiniti dell'agente.

outputModes[]

string

Il set di tipi di media di output supportati per questa skill, che sostituisce i valori predefiniti dell'agente.

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 all'agente di servizio 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 fornitore 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 all'agente di servizio 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>.

InputVariableMappingEntry

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

string

value

string

OutputVariableMappingEntry

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

string

value

string

ModelSettings

Rappresentazione JSON
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // 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 viene impostato, l'agente erediterà il modello dal relativo agente principale.

thinkingLevel

enum (ThinkingLevel)

Facoltativo. Il livello di ragionamento del modello.

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.

Callback

Rappresentazione JSON
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
Campi
description

string

Facoltativo. Descrizione leggibile del callback.

disabled

boolean

Facoltativo. Se il richiamo è disattivato. I callback disattivati vengono ignorati dall'agente.

proactiveExecutionEnabled

boolean

Facoltativo. Se abilitata, la richiamata verrà eseguita anche sugli output intermedi del modello. Questa impostazione ha effetto solo dopo il callback del modello. ATTIVA CON CAUTELA. In genere, il callback del modello deve essere eseguito solo dopo aver ricevuto tutte le risposte del modello. L'attivazione dell'esecuzione proattiva può avere implicazioni negative sul costo e sulla latenza dell'esecuzione e deve essere attivata solo in rare situazioni.

Campo unione callback. Il callback da eseguire. callback può essere solo uno dei seguenti tipi:
pythonCode

string

Obbligatorio. Il codice Python da eseguire per il callback.

Timestamp

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

string (int64 format)

Rappresenta i secondi di tempo UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (che corrisponde 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 porzione di nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che contano in avanti nel tempo. Il valore deve essere compreso tra 0 e 999.999.999 inclusi.

AgentToolset

Rappresentazione JSON
{
  "toolset": string,
  "toolIds": [
    string
  ]
}
Campi
toolset

string

Obbligatorio. Il nome della risorsa del toolset. Formato: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolIds[]

string

Facoltativo. Gli ID degli strumenti per filtrare il set di strumenti.

TransferRule

Rappresentazione JSON
{
  "childAgent": string,
  "direction": enum (Direction),

  // Union field rule_type can be only one of the following:
  "deterministicTransfer": {
    object (DeterministicTransfer)
  },
  "disablePlannerTransfer": {
    object (DisablePlannerTransfer)
  }
  // End of list of possible types for union field rule_type.
}
Campi
childAgent

string

Obbligatorio. Il nome della risorsa dell'agente secondario a cui si applica la regola. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

direction

enum (Direction)

Obbligatorio. La direzione del trasferimento.

Campo unione rule_type. Il tipo di regola. rule_type può essere solo uno dei seguenti tipi:
deterministicTransfer

object (DeterministicTransfer)

Facoltativo. Una regola che viene trasferita immediatamente all'agente di destinazione quando la condizione è soddisfatta.

disablePlannerTransfer

object (DisablePlannerTransfer)

Facoltativo. Regola che impedisce al pianificatore di trasferire la chiamata all'agente di destinazione.

DeterministicTransfer

Rappresentazione JSON
{

  // Union field condition_type can be only one of the following:
  "expressionCondition": {
    object (ExpressionCondition)
  },
  "pythonCodeCondition": {
    object (PythonCodeCondition)
  }
  // End of list of possible types for union field condition_type.
}
Campi
Campo unione condition_type. La condizione da valutare. condition_type può essere solo uno dei seguenti tipi:
expressionCondition

object (ExpressionCondition)

Facoltativo. Una regola che valuta una condizione di stato della sessione. Se la condizione restituisce il valore true, il trasferimento viene eseguito.

pythonCodeCondition

object (PythonCodeCondition)

Facoltativo. Una regola che utilizza il blocco di codice Python per valutare le condizioni. Se la condizione restituisce il valore true, il trasferimento viene eseguito.

ExpressionCondition

Rappresentazione JSON
{
  "expression": string
}
Campi
expression

string

Obbligatorio. La rappresentazione stringa della condizione cloud.api.Expression.

PythonCodeCondition

Rappresentazione JSON
{
  "pythonCode": string
}
Campi
pythonCode

string

Obbligatorio. Il codice Python da eseguire.

DisablePlannerTransfer

Rappresentazione JSON
{
  "expressionCondition": {
    object (ExpressionCondition)
  }
}
Campi
expressionCondition

object (ExpressionCondition)

Obbligatorio. Se la condizione restituisce il valore true, il pianificatore non potrà essere trasferito all'agente di destinazione.

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.

ThinkingLevel

Configurazione del livello di ragionamento per il modello.

Enum
THINKING_LEVEL_UNSPECIFIED Il livello di ragionamento non è specificato.
DEFAULT Livello di ragionamento predefinito.
LOW Livello di ragionamento basso.
MEDIUM Livello di ragionamento medio.
HIGH Livello di ragionamento elevato.

Direzione

La direzione del trasferimento.

Enum
DIRECTION_UNSPECIFIED Direzione non specificata.
PARENT_TO_CHILD Trasferimento dall'agente principale all'agente secondario.
CHILD_TO_PARENT Trasferimento dall'agente secondario all'agente principale.

Annotazioni dello strumento

Le annotazioni dello strumento vengono inviate ai client MCP per descrivere il rischio di base di un determinato strumento. La maggior parte dei client considera questi suggerimenti non attendibili, ma possono essere utilizzati per decidere quando inviare un prompt di conferma a un utente.

Oltre alla stringa del titolo, sono definiti i seguenti suggerimenti booleani:

  • readOnlyHint: se è true, lo strumento non modifica il suo ambiente. Valore predefinito: false.
  • destructiveHint: se è true, lo strumento può eseguire azioni distruttive. Se il valore è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.
  • idempotentHint: se è true, chiamare ripetutamente lo strumento con gli stessi argomenti non avrà alcun effetto aggiuntivo sul suo ambiente. Valore predefinito: false.
  • openWorldHint: se è true, lo strumento può interagire con un "open world" di entità esterne. Se è false, lo strumento può interagire solo con le entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria non lo sarebbe.

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