MCP Tools Reference: ces.googleapis.com

Herramienta: create_agent

Crea un agente nuevo en la app especificada.

En la siguiente muestra de código, se muestra cómo usar curl para llamar a la herramienta de MCP create_agent.

Solicitud de 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
}'

Esquema de entrada

CreateAgentRequest

Representación JSON
{
  "parent": string,
  "agentId": string,
  "agent": {
    object (Agent)
  }
}
Campos
parent

string

Obligatorio. Es el nombre del recurso de la app en la que se creará un agente.

agentId

string

Es opcional. Es el ID que se usará para el agente, que se convertirá en el componente final del nombre del recurso del agente. Si no se proporciona, se asignará automáticamente un ID único para el agente.

agent

object (Agent)

Obligatorio. El agente que se creará.

Agente

Representación 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.
}
Campos
name

string

Es el identificador. El identificador único del agente. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

Obligatorio. Es el nombre visible del agente.

description

string

Es opcional. Es una descripción del agente legible por humanos.

modelSettings

object (ModelSettings)

Es opcional. Es la configuración del modelo de LLM.

instruction

string

Es opcional. Son las instrucciones para el modelo de LLM que guían el comportamiento del agente.

tools[]

string

Es opcional. Es la lista de herramientas disponibles para el agente. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

Es opcional. Es la lista de agentes secundarios en el árbol de agentes. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán antes de que se llame al agente. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada devuelve una respuesta anulada, la ejecución se detiene y se omiten las devoluciones de llamada restantes.

afterAgentCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán después de que se llame al agente. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada devuelve una respuesta anulada, la ejecución se detiene y se omiten las devoluciones de llamada restantes.

beforeModelCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán antes de que se llame al modelo. Si hay varias llamadas al modelo, la devolución de llamada se ejecutará varias veces. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada devuelve una respuesta anulada, la ejecución se detiene y se omiten las devoluciones de llamada restantes.

afterModelCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán después de que se llame al modelo. Si hay varias llamadas al modelo, la devolución de llamada se ejecutará varias veces. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada devuelve una respuesta anulada, la ejecución se detiene y se omiten las devoluciones de llamada restantes.

beforeToolCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán antes de que se invoque la herramienta. Si hay varias invocaciones de herramientas, la devolución de llamada se ejecutará varias veces. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada devuelve una respuesta anulada, la ejecución se detiene y se omiten las devoluciones de llamada restantes.

afterToolCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán después de invocar la herramienta. Si hay varias invocaciones de herramientas, la devolución de llamada se ejecutará varias veces. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada devuelve una respuesta anulada, la ejecución se detiene y se omiten las devoluciones de llamada restantes.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de cuando se creó el agente.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la última actualización del agente.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

guardrails[]

string

Es opcional. Es la lista de medidas de protección del agente. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

Es el ETag que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura-modificación-escritura. Si el ETag está vacío, la actualización reemplazará cualquier cambio simultáneo.

toolsets[]

object (AgentToolset)

Es opcional. Es la lista de conjuntos de herramientas del agente.

generatedSummary

string

Solo salida. Si el agente lo genera el asistente de LLM, este campo contiene un resumen descriptivo de la generación.

transferRules[]

object (TransferRule)

Es opcional. Son las reglas de transferencia de agentes. Si coinciden varias reglas, se usará la primera de la lista.

validationErrors[]

string

Solo salida. Errores o parámetros de configuración incorrectos en el agente que pueden afectar su calidad

Campo de unión agent_type. Es el tipo de agente. agent_type puede ser solo uno de los parámetros siguientes:
llmAgent

object (LlmAgent)

Es opcional. Es el tipo de agente predeterminado.

remoteDialogflowAgent

object (RemoteDialogflowAgent)

Es opcional. Es el agente remoto de Dialogflow que se usará para la ejecución del agente. Si se configura este campo, se ignorarán todas las demás propiedades a nivel del agente.

Nota: Si el agente de Dialogflow está en un proyecto diferente al de la app, debes otorgar roles/dialogflow.client al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

remoteA2aAgent

object (RemoteA2aAgent)

Es opcional. Es el agente A2A remoto que se usará para la ejecución del agente.

RemoteDialogflowAgent

Representación JSON
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean,
  "languageCodeVariable": string
}
Campos
agent

string

Obligatorio. Es el nombre del recurso del agente de Dialogflow. Formato: projects/{project}/locations/{location}/agents/{agent}

flowId

string

Es opcional. Es el ID del flujo en el agente de Dialogflow.

environmentId

string

Es opcional. Es el ID del entorno del agente de Dialogflow que se usará para la ejecución del agente. Si no se especifica, se usará el entorno de borrador.

inputVariableMapping

map (key: string, value: string)

Es opcional. Es la asignación de los nombres de las variables de la app a los nombres de los parámetros de la sesión de Dialogflow que se enviarán al agente de Dialogflow como entrada.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

outputVariableMapping

map (key: string, value: string)

Es opcional. Es la asignación de los nombres de los parámetros de la sesión de Dialogflow a los nombres de las variables de la app que se enviarán de vuelta al agente de CES después de que finalice la ejecución del agente de Dialogflow.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

respectResponseInterruptionSettings

boolean

Es opcional. Indica si se debe respetar la configuración de interrupción a nivel del mensaje configurada en el agente de Dialogflow.

  • Si es falso, todos los mensajes de respuesta del agente de Dialogflow siguen la configuración de interrupción a nivel de la app.
  • Si es verdadero, solo se podrán interrumpir los mensajes de respuesta con allow_playback_interruption establecido como verdadero. Todos los demás mensajes seguirán la configuración de interrupción a nivel de la app.
languageCodeVariable

string

Es opcional. Nombre de la variable que contiene el código de idioma que se usará para la sesión de Dialogflow. Si no se especifica, se usará el código de idioma predeterminado del agente de Dialogflow.

InputVariableMappingEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

OutputVariableMappingEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

RemoteA2aAgent

Representación JSON
{
  "a2aConfig": {
    object (RemoteA2aConfig)
  }
}
Campos
a2aConfig

object (RemoteA2aConfig)

Obligatorio. Es la configuración de la conexión A2A.

RemoteA2aConfig

Representación 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.
}
Campos
apiAuthentication

object (ApiAuthentication)

Es opcional. Es la configuración de autenticación para llamar al agente remoto. Es opcional si la referencia del registro ya controla la autenticación.

inputVariableMapping

map (key: string, value: string)

Es opcional. Es la asignación de los nombres de las variables de entrada del agente remoto a los nombres de las variables de GECX.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

outputVariableMapping

map (key: string, value: string)

Es opcional. Es la asignación de los nombres de las variables de salida del agente remoto a los nombres de las variables de GECX.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

streamingEnabled

boolean

Es opcional. Indica si la transmisión está habilitada para el agente remoto.

contextId

string

Es opcional. Si no está vacío, las interacciones con el agente A2A remoto usarán este ID de contexto. Este campo context_id puede hacer referencia a una variable de sesión, como $context.variables.order_agent_session_id.

Campo de unión agent_spec. Es la especificación del agente remoto. agent_spec puede ser solo uno de los parámetros siguientes:
agentCard

object (AgentCard)

Es opcional. Es la tarjeta del agente completa definida de forma intercalada.

agentRegistry

string

Es opcional. Es la referencia al agente en Agent Registry. Formato: projects/{project}/locations/{location}/agents/{agent}

AgentCard

Representación JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Campos
name

string

Obligatorio. Nombre del agente legible por humanos.

description

string

Obligatorio. Es una descripción del dominio de acción o el espacio de soluciones del agente.

supportedInterfaces[]

object (AgentInterface)

Obligatorio. Lista ordenada de interfaces compatibles. Se prefiere la primera entrada.

version

string

Obligatorio. Es la versión del agente.

skills[]

object (AgentSkill)

Obligatorio. Las habilidades representan una unidad de capacidad que un agente puede realizar. Esto puede ser algo abstracto, pero representa un conjunto más enfocado de acciones en las que es muy probable que el agente tenga éxito.

AgentInterface

Representación JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Campos
url

string

Obligatorio. Es la URL en la que está disponible esta interfaz. Debe ser una URL HTTPS absoluta válida en producción. Ejemplo: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Obligatorio. Es la vinculación del protocolo admitida en esta URL. Es una cadena de formulario abierta que se puede extender fácilmente para otras vinculaciones de protocolos. Los principales que se admiten oficialmente son JSONRPC, GRPC y HTTP+JSON.

tenant

string

Es el ID del arrendatario que se usará en la solicitud cuando se llame al agente.

protocolVersion

string

Obligatorio. Es la versión del protocolo A2A que expone esta interfaz. Usa la versión secundaria compatible más reciente por versión principal. Ejemplos: "0.3", "1.0"

AgentSkill

Representación JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Campos
id

string

Obligatorio. Es un identificador único para la habilidad del agente.

name

string

Obligatorio. Es un nombre legible para la habilidad.

description

string

Obligatorio. Es una descripción detallada de la habilidad.

tags[]

string

Obligatorio. Es un conjunto de palabras clave que describen las capacidades de la skill.

examples[]

string

Ejemplos de instrucciones o situaciones que esta habilidad puede controlar.

inputModes[]

string

Es el conjunto de tipos de medios de entrada admitidos para esta habilidad, que anula los valores predeterminados del agente.

outputModes[]

string

Es el conjunto de tipos de medios de salida admitidos para esta habilidad, que anula los valores predeterminados del agente.

ApiAuthentication

Representación JSON
{

  // Union field auth_config can be only one of the following:
  "apiKeyConfig": {
    object (ApiKeyConfig)
  },
  "oauthConfig": {
    object (OAuthConfig)
  },
  "serviceAgentIdTokenAuthConfig": {
    object (ServiceAgentIdTokenAuthConfig)
  },
  "serviceAccountAuthConfig": {
    object (ServiceAccountAuthConfig)
  },
  "bearerTokenConfig": {
    object (BearerTokenConfig)
  }
  // End of list of possible types for union field auth_config.
}
Campos
Campo de unión auth_config. Es la configuración de autenticación. auth_config puede ser solo uno de los parámetros siguientes:
apiKeyConfig

object (ApiKeyConfig)

Es opcional. Es la configuración para la autenticación con clave de API.

oauthConfig

object (OAuthConfig)

Es opcional. Es la configuración de OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Es opcional. Es la configuración para la autenticación con token de ID que se genera a partir del agente de servicio de CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Es opcional. Es la configuración para la autenticación de la cuenta de servicio.

bearerTokenConfig

object (BearerTokenConfig)

Es opcional. Es la configuración para la autenticación de token de portador.

ApiKeyConfig

Representación JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Campos
keyName

string

Obligatorio. Es el nombre del parámetro o del encabezado de la clave de API. P. ej., Si la solicitud a la API es "https://example.com/act?X-Api-Key=", "X-Api-Key" sería el nombre del parámetro.

apiKeySecretVersion

string

Obligatorio. Es el nombre del recurso de la versión secreta de Secret Manager que almacena la clave de API. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: Debes otorgar el rol roles/secretmanager.secretAccessor al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Obligatorio. Es la ubicación de la clave en la solicitud.

OAuthConfig

Representación JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Campos
oauthGrantType

enum (OauthGrantType)

Obligatorio. Tipos de permisos de OAuth

clientId

string

Obligatorio. Es el ID de cliente del proveedor de OAuth.

clientSecretVersion

string

Obligatorio. Nombre del recurso de la versión secreta de Secret Manager que almacena el secreto del cliente. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: Debes otorgar el rol roles/secretmanager.secretAccessor al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obligatorio. Es el extremo del token en el proveedor de OAuth para intercambiarlo por un token de acceso.

scopes[]

string

Es opcional. Son los permisos de OAuth que se otorgarán.

ServiceAccountAuthConfig

Representación JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Campos
serviceAccount

string

Obligatorio. Es la dirección de correo electrónico de la cuenta de servicio que se usa para la autenticación. CES usa esta cuenta de servicio para intercambiar un token de acceso, que luego se envía en el encabezado Authorization de la solicitud.

La cuenta de servicio debe tener el rol roles/iam.serviceAccountTokenCreator otorgado al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Es opcional. Son los permisos de OAuth que se otorgarán. Si no se especifica, se usa el alcance predeterminado https://www.googleapis.com/auth/cloud-platform.

BearerTokenConfig

Representación JSON
{
  "token": string
}
Campos
token

string

Obligatorio. Es el token del portador. Debe tener el formato $context.variables.<name_of_variable>.

InputVariableMappingEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

OutputVariableMappingEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

ModelSettings

Representación 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.
}
Campos
model

string

Es opcional. Es el modelo LLM que debe usar el agente. Si no se configura, el agente heredará el modelo de su agente superior.

thinkingLevel

enum (ThinkingLevel)

Es opcional. Es el nivel de razonamiento del modelo.

Campo de unión _temperature.

_temperature puede ser una de las siguientes opciones:

temperature

number

Es opcional. Si se configura, esta temperatura se usará para el modelo de LLM. La temperatura controla la aleatoriedad de las respuestas del modelo. Las temperaturas más bajas producen respuestas más predecibles. Las temperaturas más altas producen respuestas más creativas.

Devolución de llamada

Representación 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.
}
Campos
description

string

Es opcional. Es una descripción legible del callback.

disabled

boolean

Es opcional. Indica si la devolución de llamada está inhabilitada. El agente ignora las devoluciones de llamada inhabilitadas.

proactiveExecutionEnabled

boolean

Es opcional. Si está habilitado, la devolución de llamada también se ejecutará en los resultados intermedios del modelo. Este parámetro de configuración solo afecta a la devolución de llamada After model. Habilítala con precaución. Por lo general, la devolución de llamada after model solo debe ejecutarse después de recibir todas las respuestas del modelo. Habilitar la ejecución proactiva puede tener implicaciones negativas en el costo y la latencia de la ejecución, y solo debe habilitarse en situaciones excepcionales.

Campo de unión callback. Es la devolución de llamada que se ejecutará. callback puede ser solo uno de los parámetros siguientes:
pythonCode

string

Obligatorio. Es el código de Python que se ejecutará para la devolución de llamada.

Marca de tiempo

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa los segundos del horario UTC desde el tiempo Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z).

nanos

integer

Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de nanosegundos de la duración, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive.

AgentToolset

Representación JSON
{
  "toolset": string,
  "toolIds": [
    string
  ]
}
Campos
toolset

string

Obligatorio. Es el nombre del recurso del conjunto de herramientas. Formato: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolIds[]

string

Es opcional. Son los IDs de las herramientas para filtrar el conjunto de herramientas.

TransferRule

Representación 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.
}
Campos
childAgent

string

Obligatorio. Es el nombre del recurso del agente secundario al que se aplica la regla. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

direction

enum (Direction)

Obligatorio. Es la dirección de la transferencia.

Campo de unión rule_type. Es el tipo de regla. rule_type puede ser solo uno de los parámetros siguientes:
deterministicTransfer

object (DeterministicTransfer)

Es opcional. Es una regla que se transfiere de inmediato al agente objetivo cuando se cumple la condición.

disablePlannerTransfer

object (DisablePlannerTransfer)

Es opcional. Es una regla que impide que el planificador se transfiera al agente objetivo.

DeterministicTransfer

Representación 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.
}
Campos
Campo de unión condition_type. Es la condición que se evaluará. condition_type puede ser solo uno de los parámetros siguientes:
expressionCondition

object (ExpressionCondition)

Es opcional. Es una regla que evalúa una condición de estado de la sesión. Si la condición se evalúa como verdadera, se realiza la transferencia.

pythonCodeCondition

object (PythonCodeCondition)

Es opcional. Es una regla que usa un bloque de código de Python para evaluar las condiciones. Si la condición se evalúa como verdadera, se realiza la transferencia.

ExpressionCondition

Representación JSON
{
  "expression": string
}
Campos
expression

string

Obligatorio. Es la representación de cadena de la condición cloud.api.Expression.

PythonCodeCondition

Representación JSON
{
  "pythonCode": string
}
Campos
pythonCode

string

Obligatorio. Es el código de Python que se ejecutará.

DisablePlannerTransfer

Representación JSON
{
  "expressionCondition": {
    object (ExpressionCondition)
  }
}
Campos
expressionCondition

object (ExpressionCondition)

Obligatorio. Si la condición se evalúa como verdadera, no se permitirá que el planificador transfiera la llamada al agente objetivo.

RequestLocation

Ubicación de la clave de API en la solicitud.

Enums
REQUEST_LOCATION_UNSPECIFIED Sin especificar. No se debe usar este valor.
HEADER Representa la clave en el encabezado HTTP.
QUERY_STRING Representa la clave en la cadena de consulta.

OauthGrantType

Tipos de permisos de OAuth Solo se admite el otorgamiento de credenciales de cliente.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Sin especificar. El valor predeterminado es CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Representa el flujo de credenciales de cliente.

ThinkingLevel

Es la configuración del nivel de razonamiento del modelo.

Enums
THINKING_LEVEL_UNSPECIFIED El nivel de pensamiento no está especificado.
DEFAULT Es el nivel de razonamiento predeterminado.
LOW Nivel de razonamiento bajo.
MEDIUM Nivel de razonamiento medio.
HIGH Nivel de razonamiento alto.

Dirección

Es la dirección de la transferencia.

Enums
DIRECTION_UNSPECIFIED Dirección sin especificar.
PARENT_TO_CHILD Transferencia del agente principal al agente secundario.
CHILD_TO_PARENT Transferencia del agente secundario al agente principal.

Esquema de salida

Un agente actúa como el componente básico fundamental que proporciona instrucciones al modelo de lenguaje grande (LLM) para ejecutar tareas específicas.

Agente

Representación 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.
}
Campos
name

string

Es el identificador. El identificador único del agente. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

Obligatorio. Es el nombre visible del agente.

description

string

Es opcional. Es una descripción del agente legible por humanos.

modelSettings

object (ModelSettings)

Es opcional. Es la configuración del modelo de LLM.

instruction

string

Es opcional. Son las instrucciones para el modelo de LLM que guían el comportamiento del agente.

tools[]

string

Es opcional. Es la lista de herramientas disponibles para el agente. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

Es opcional. Es la lista de agentes secundarios en el árbol de agentes. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán antes de que se llame al agente. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada devuelve una respuesta anulada, la ejecución se detiene y se omiten las devoluciones de llamada restantes.

afterAgentCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán después de que se llame al agente. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada devuelve una respuesta anulada, la ejecución se detiene y se omiten las devoluciones de llamada restantes.

beforeModelCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán antes de que se llame al modelo. Si hay varias llamadas al modelo, la devolución de llamada se ejecutará varias veces. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada devuelve una respuesta anulada, la ejecución se detiene y se omiten las devoluciones de llamada restantes.

afterModelCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán después de que se llame al modelo. Si hay varias llamadas al modelo, la devolución de llamada se ejecutará varias veces. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada devuelve una respuesta anulada, la ejecución se detiene y se omiten las devoluciones de llamada restantes.

beforeToolCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán antes de que se invoque la herramienta. Si hay varias invocaciones de herramientas, la devolución de llamada se ejecutará varias veces. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada devuelve una respuesta anulada, la ejecución se detiene y se omiten las devoluciones de llamada restantes.

afterToolCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán después de invocar la herramienta. Si hay varias invocaciones de herramientas, la devolución de llamada se ejecutará varias veces. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada devuelve una respuesta anulada, la ejecución se detiene y se omiten las devoluciones de llamada restantes.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de cuando se creó el agente.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la última actualización del agente.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

guardrails[]

string

Es opcional. Es la lista de medidas de protección del agente. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

Es el ETag que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura-modificación-escritura. Si el ETag está vacío, la actualización reemplazará cualquier cambio simultáneo.

toolsets[]

object (AgentToolset)

Es opcional. Es la lista de conjuntos de herramientas del agente.

generatedSummary

string

Solo salida. Si el agente lo genera el asistente de LLM, este campo contiene un resumen descriptivo de la generación.

transferRules[]

object (TransferRule)

Es opcional. Son las reglas de transferencia de agentes. Si coinciden varias reglas, se usará la primera de la lista.

validationErrors[]

string

Solo salida. Errores o parámetros de configuración incorrectos en el agente que pueden afectar su calidad

Campo de unión agent_type. Es el tipo de agente. agent_type puede ser solo uno de los parámetros siguientes:
llmAgent

object (LlmAgent)

Es opcional. Es el tipo de agente predeterminado.

remoteDialogflowAgent

object (RemoteDialogflowAgent)

Es opcional. Es el agente remoto de Dialogflow que se usará para la ejecución del agente. Si se configura este campo, se ignorarán todas las demás propiedades a nivel del agente.

Nota: Si el agente de Dialogflow está en un proyecto diferente al de la app, debes otorgar roles/dialogflow.client al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

remoteA2aAgent

object (RemoteA2aAgent)

Es opcional. Es el agente A2A remoto que se usará para la ejecución del agente.

RemoteDialogflowAgent

Representación JSON
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean,
  "languageCodeVariable": string
}
Campos
agent

string

Obligatorio. Es el nombre del recurso del agente de Dialogflow. Formato: projects/{project}/locations/{location}/agents/{agent}

flowId

string

Es opcional. Es el ID del flujo en el agente de Dialogflow.

environmentId

string

Es opcional. Es el ID del entorno del agente de Dialogflow que se usará para la ejecución del agente. Si no se especifica, se usará el entorno de borrador.

inputVariableMapping

map (key: string, value: string)

Es opcional. Es la asignación de los nombres de las variables de la app a los nombres de los parámetros de la sesión de Dialogflow que se enviarán al agente de Dialogflow como entrada.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

outputVariableMapping

map (key: string, value: string)

Es opcional. Es la asignación de los nombres de los parámetros de la sesión de Dialogflow a los nombres de las variables de la app que se enviarán de vuelta al agente de CES después de que finalice la ejecución del agente de Dialogflow.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

respectResponseInterruptionSettings

boolean

Es opcional. Indica si se debe respetar la configuración de interrupción a nivel del mensaje configurada en el agente de Dialogflow.

  • Si es falso, todos los mensajes de respuesta del agente de Dialogflow siguen la configuración de interrupción a nivel de la app.
  • Si es verdadero, solo se podrán interrumpir los mensajes de respuesta con allow_playback_interruption establecido como verdadero. Todos los demás mensajes seguirán la configuración de interrupción a nivel de la app.
languageCodeVariable

string

Es opcional. Nombre de la variable que contiene el código de idioma que se usará para la sesión de Dialogflow. Si no se especifica, se usará el código de idioma predeterminado del agente de Dialogflow.

InputVariableMappingEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

OutputVariableMappingEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

RemoteA2aAgent

Representación JSON
{
  "a2aConfig": {
    object (RemoteA2aConfig)
  }
}
Campos
a2aConfig

object (RemoteA2aConfig)

Obligatorio. Es la configuración de la conexión A2A.

RemoteA2aConfig

Representación 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.
}
Campos
apiAuthentication

object (ApiAuthentication)

Es opcional. Es la configuración de autenticación para llamar al agente remoto. Es opcional si la referencia del registro ya controla la autenticación.

inputVariableMapping

map (key: string, value: string)

Es opcional. Es la asignación de los nombres de las variables de entrada del agente remoto a los nombres de las variables de GECX.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

outputVariableMapping

map (key: string, value: string)

Es opcional. Es la asignación de los nombres de las variables de salida del agente remoto a los nombres de las variables de GECX.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

streamingEnabled

boolean

Es opcional. Indica si la transmisión está habilitada para el agente remoto.

contextId

string

Es opcional. Si no está vacío, las interacciones con el agente A2A remoto usarán este ID de contexto. Este campo context_id puede hacer referencia a una variable de sesión, como $context.variables.order_agent_session_id.

Campo de unión agent_spec. Es la especificación del agente remoto. agent_spec puede ser solo uno de los parámetros siguientes:
agentCard

object (AgentCard)

Es opcional. Es la tarjeta del agente completa definida de forma intercalada.

agentRegistry

string

Es opcional. Es la referencia al agente en Agent Registry. Formato: projects/{project}/locations/{location}/agents/{agent}

AgentCard

Representación JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Campos
name

string

Obligatorio. Nombre del agente legible por humanos.

description

string

Obligatorio. Es una descripción del dominio de acción o el espacio de soluciones del agente.

supportedInterfaces[]

object (AgentInterface)

Obligatorio. Lista ordenada de interfaces compatibles. Se prefiere la primera entrada.

version

string

Obligatorio. Es la versión del agente.

skills[]

object (AgentSkill)

Obligatorio. Las habilidades representan una unidad de capacidad que un agente puede realizar. Esto puede ser algo abstracto, pero representa un conjunto más enfocado de acciones en las que es muy probable que el agente tenga éxito.

AgentInterface

Representación JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Campos
url

string

Obligatorio. Es la URL en la que está disponible esta interfaz. Debe ser una URL HTTPS absoluta válida en producción. Ejemplo: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Obligatorio. Es la vinculación del protocolo admitida en esta URL. Es una cadena de formulario abierta que se puede extender fácilmente para otras vinculaciones de protocolos. Los principales que se admiten oficialmente son JSONRPC, GRPC y HTTP+JSON.

tenant

string

Es el ID del arrendatario que se usará en la solicitud cuando se llame al agente.

protocolVersion

string

Obligatorio. Es la versión del protocolo A2A que expone esta interfaz. Usa la versión secundaria compatible más reciente por versión principal. Ejemplos: "0.3", "1.0"

AgentSkill

Representación JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Campos
id

string

Obligatorio. Es un identificador único para la habilidad del agente.

name

string

Obligatorio. Es un nombre legible para la habilidad.

description

string

Obligatorio. Es una descripción detallada de la habilidad.

tags[]

string

Obligatorio. Es un conjunto de palabras clave que describen las capacidades de la skill.

examples[]

string

Ejemplos de instrucciones o situaciones que esta habilidad puede controlar.

inputModes[]

string

Es el conjunto de tipos de medios de entrada admitidos para esta habilidad, que anula los valores predeterminados del agente.

outputModes[]

string

Es el conjunto de tipos de medios de salida admitidos para esta habilidad, que anula los valores predeterminados del agente.

ApiAuthentication

Representación JSON
{

  // Union field auth_config can be only one of the following:
  "apiKeyConfig": {
    object (ApiKeyConfig)
  },
  "oauthConfig": {
    object (OAuthConfig)
  },
  "serviceAgentIdTokenAuthConfig": {
    object (ServiceAgentIdTokenAuthConfig)
  },
  "serviceAccountAuthConfig": {
    object (ServiceAccountAuthConfig)
  },
  "bearerTokenConfig": {
    object (BearerTokenConfig)
  }
  // End of list of possible types for union field auth_config.
}
Campos
Campo de unión auth_config. Es la configuración de autenticación. auth_config puede ser solo uno de los parámetros siguientes:
apiKeyConfig

object (ApiKeyConfig)

Es opcional. Es la configuración para la autenticación con clave de API.

oauthConfig

object (OAuthConfig)

Es opcional. Es la configuración de OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Es opcional. Es la configuración para la autenticación con token de ID que se genera a partir del agente de servicio de CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Es opcional. Es la configuración para la autenticación de la cuenta de servicio.

bearerTokenConfig

object (BearerTokenConfig)

Es opcional. Es la configuración para la autenticación de token de portador.

ApiKeyConfig

Representación JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Campos
keyName

string

Obligatorio. Es el nombre del parámetro o del encabezado de la clave de API. P. ej., Si la solicitud a la API es "https://example.com/act?X-Api-Key=", "X-Api-Key" sería el nombre del parámetro.

apiKeySecretVersion

string

Obligatorio. Es el nombre del recurso de la versión secreta de Secret Manager que almacena la clave de API. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: Debes otorgar el rol roles/secretmanager.secretAccessor al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Obligatorio. Es la ubicación de la clave en la solicitud.

OAuthConfig

Representación JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Campos
oauthGrantType

enum (OauthGrantType)

Obligatorio. Tipos de permisos de OAuth

clientId

string

Obligatorio. Es el ID de cliente del proveedor de OAuth.

clientSecretVersion

string

Obligatorio. Nombre del recurso de la versión secreta de Secret Manager que almacena el secreto del cliente. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: Debes otorgar el rol roles/secretmanager.secretAccessor al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obligatorio. Es el extremo del token en el proveedor de OAuth para intercambiarlo por un token de acceso.

scopes[]

string

Es opcional. Son los permisos de OAuth que se otorgarán.

ServiceAccountAuthConfig

Representación JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Campos
serviceAccount

string

Obligatorio. Es la dirección de correo electrónico de la cuenta de servicio que se usa para la autenticación. CES usa esta cuenta de servicio para intercambiar un token de acceso, que luego se envía en el encabezado Authorization de la solicitud.

La cuenta de servicio debe tener el rol roles/iam.serviceAccountTokenCreator otorgado al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Es opcional. Son los permisos de OAuth que se otorgarán. Si no se especifica, se usa el alcance predeterminado https://www.googleapis.com/auth/cloud-platform.

BearerTokenConfig

Representación JSON
{
  "token": string
}
Campos
token

string

Obligatorio. Es el token del portador. Debe tener el formato $context.variables.<name_of_variable>.

InputVariableMappingEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

OutputVariableMappingEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

ModelSettings

Representación 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.
}
Campos
model

string

Es opcional. Es el modelo LLM que debe usar el agente. Si no se configura, el agente heredará el modelo de su agente superior.

thinkingLevel

enum (ThinkingLevel)

Es opcional. Es el nivel de razonamiento del modelo.

Campo de unión _temperature.

_temperature puede ser una de las siguientes opciones:

temperature

number

Es opcional. Si se configura, esta temperatura se usará para el modelo de LLM. La temperatura controla la aleatoriedad de las respuestas del modelo. Las temperaturas más bajas producen respuestas más predecibles. Las temperaturas más altas producen respuestas más creativas.

Devolución de llamada

Representación 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.
}
Campos
description

string

Es opcional. Es una descripción legible del callback.

disabled

boolean

Es opcional. Indica si la devolución de llamada está inhabilitada. El agente ignora las devoluciones de llamada inhabilitadas.

proactiveExecutionEnabled

boolean

Es opcional. Si está habilitado, la devolución de llamada también se ejecutará en los resultados intermedios del modelo. Este parámetro de configuración solo afecta a la devolución de llamada After model. Habilítala con precaución. Por lo general, la devolución de llamada after model solo debe ejecutarse después de recibir todas las respuestas del modelo. Habilitar la ejecución proactiva puede tener implicaciones negativas en el costo y la latencia de la ejecución, y solo debe habilitarse en situaciones excepcionales.

Campo de unión callback. Es la devolución de llamada que se ejecutará. callback puede ser solo uno de los parámetros siguientes:
pythonCode

string

Obligatorio. Es el código de Python que se ejecutará para la devolución de llamada.

Marca de tiempo

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa los segundos del horario UTC desde el tiempo Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z).

nanos

integer

Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de nanosegundos de la duración, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive.

AgentToolset

Representación JSON
{
  "toolset": string,
  "toolIds": [
    string
  ]
}
Campos
toolset

string

Obligatorio. Es el nombre del recurso del conjunto de herramientas. Formato: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolIds[]

string

Es opcional. Son los IDs de las herramientas para filtrar el conjunto de herramientas.

TransferRule

Representación 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.
}
Campos
childAgent

string

Obligatorio. Es el nombre del recurso del agente secundario al que se aplica la regla. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

direction

enum (Direction)

Obligatorio. Es la dirección de la transferencia.

Campo de unión rule_type. Es el tipo de regla. rule_type puede ser solo uno de los parámetros siguientes:
deterministicTransfer

object (DeterministicTransfer)

Es opcional. Es una regla que se transfiere de inmediato al agente objetivo cuando se cumple la condición.

disablePlannerTransfer

object (DisablePlannerTransfer)

Es opcional. Es una regla que impide que el planificador se transfiera al agente objetivo.

DeterministicTransfer

Representación 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.
}
Campos
Campo de unión condition_type. Es la condición que se evaluará. condition_type puede ser solo uno de los parámetros siguientes:
expressionCondition

object (ExpressionCondition)

Es opcional. Es una regla que evalúa una condición de estado de la sesión. Si la condición se evalúa como verdadera, se realiza la transferencia.

pythonCodeCondition

object (PythonCodeCondition)

Es opcional. Es una regla que usa un bloque de código de Python para evaluar las condiciones. Si la condición se evalúa como verdadera, se realiza la transferencia.

ExpressionCondition

Representación JSON
{
  "expression": string
}
Campos
expression

string

Obligatorio. Es la representación de cadena de la condición cloud.api.Expression.

PythonCodeCondition

Representación JSON
{
  "pythonCode": string
}
Campos
pythonCode

string

Obligatorio. Es el código de Python que se ejecutará.

DisablePlannerTransfer

Representación JSON
{
  "expressionCondition": {
    object (ExpressionCondition)
  }
}
Campos
expressionCondition

object (ExpressionCondition)

Obligatorio. Si la condición se evalúa como verdadera, no se permitirá que el planificador transfiera la llamada al agente objetivo.

RequestLocation

Ubicación de la clave de API en la solicitud.

Enums
REQUEST_LOCATION_UNSPECIFIED Sin especificar. No se debe usar este valor.
HEADER Representa la clave en el encabezado HTTP.
QUERY_STRING Representa la clave en la cadena de consulta.

OauthGrantType

Tipos de permisos de OAuth Solo se admite el otorgamiento de credenciales de cliente.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Sin especificar. El valor predeterminado es CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Representa el flujo de credenciales de cliente.

ThinkingLevel

Es la configuración del nivel de razonamiento del modelo.

Enums
THINKING_LEVEL_UNSPECIFIED El nivel de pensamiento no está especificado.
DEFAULT Es el nivel de razonamiento predeterminado.
LOW Nivel de razonamiento bajo.
MEDIUM Nivel de razonamiento medio.
HIGH Nivel de razonamiento alto.

Dirección

Es la dirección de la transferencia.

Enums
DIRECTION_UNSPECIFIED Dirección sin especificar.
PARENT_TO_CHILD Transferencia del agente principal al agente secundario.
CHILD_TO_PARENT Transferencia del agente secundario al agente principal.

Anotaciones de herramientas

Las anotaciones de herramientas se envían a los clientes de MCP para describir el riesgo básico de una herramienta determinada. La mayoría de los clientes tratan estas sugerencias como no confiables, pero se pueden usar para decidir cuándo se le puede enviar un mensaje de confirmación a un usuario.

Junto con la cadena de título, se definen las siguientes sugerencias booleanas:

  • readOnlyHint: Si es verdadero, la herramienta no modifica su entorno. Valor predeterminado: false.
  • destructiveHint: Si es verdadero, la herramienta puede realizar acciones destructivas. Si es falso, la herramienta solo puede realizar acciones aditivas. Valor predeterminado: true.
  • idempotentHint: Si es verdadero, llamar a la herramienta varias veces con los mismos argumentos no tendrá ningún efecto adicional en su entorno. Valor predeterminado: false.
  • openWorldHint: Si es verdadero, la herramienta puede interactuar con un "mundo abierto" de entidades externas. Si es falso, la herramienta solo puede interactuar con entidades internas. Por ejemplo, una herramienta de búsqueda web sería de mundo abierto, mientras que una herramienta de memoria no lo sería.

Sugerencia destructiva: ✅ | Sugerencia idempotente: ❌ | Sugerencia de solo lectura: ❌ | Sugerencia de mundo abierto: ❌