MCP Tools Reference: ces.googleapis.com

Herramienta: create_app_version

Crea una versión nueva de la app en la app determinada.

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

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

Esquema de entrada

Mensaje de solicitud para AgentService.CreateAppVersion

CreateAppVersionRequest

Representación JSON
{
  "parent": string,
  "appVersionId": string,
  "appVersion": {
    object (AppVersion)
  }
}
Campos
parent

string

Obligatorio. Es el nombre del recurso de la app en la que se creará una versión de la app.

appVersionId

string

Es opcional. Es el ID que se usará para la versión de la app, que se convertirá en el componente final del nombre del recurso de la versión de la app. Si no se proporciona, se asignará automáticamente un ID único para la versión de la app.

appVersion

object (AppVersion)

Obligatorio. Es la versión de la app que se creará.

AppVersion

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "creator": string,
  "createTime": string,
  "updateTime": string,
  "snapshot": {
    object (AppSnapshot)
  },
  "etag": string
}
Campos
name

string

Es el identificador. Es el identificador único de la versión de la app. Formato: projects/{project}/locations/{location}/apps/{app}/versions/{version}

displayName

string

Es opcional. Es el nombre visible de la versión de la app.

description

string

Es opcional. Es la descripción de la versión de la app.

creator

string

Solo salida. Es el correo electrónico del usuario que creó la versión de la app.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de cuando se creó la versión de la app.

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. Marca de tiempo de la última actualización de la versión de la app.

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

snapshot

object (AppSnapshot)

Solo salida. La instantánea de la app cuando se crea la versión.

etag

string

Solo salida. Es la etiqueta de entidad que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si la etag está vacía, la actualización reemplazará cualquier cambio simultáneo.

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. Deben ser valores de 0 a 999,999,999 inclusive.

AppSnapshot

Representación JSON
{
  "app": {
    object (App)
  },
  "agents": [
    {
      object (Agent)
    }
  ],
  "tools": [
    {
      object (Tool)
    }
  ],
  "examples": [
    {
      object (Example)
    }
  ],
  "guardrails": [
    {
      object (Guardrail)
    }
  ],
  "toolsets": [
    {
      object (Toolset)
    }
  ]
}
Campos
app

object (App)

Es opcional. La configuración básica de la app

agents[]

object (Agent)

Es opcional. Es la lista de agentes de la app.

tools[]

object (Tool)

Es opcional. Lista de herramientas de la app.

examples[]

object (Example)

Es opcional. Es la lista de ejemplos en la app.

guardrails[]

object (Guardrail)

Es opcional. Lista de barreras de seguridad en la app.

toolsets[]

object (Toolset)

Es opcional. Es la lista de conjuntos de herramientas de la app.

App

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "pinned": boolean,
  "rootAgent": string,
  "languageSettings": {
    object (LanguageSettings)
  },
  "timeZoneSettings": {
    object (TimeZoneSettings)
  },
  "audioProcessingConfig": {
    object (AudioProcessingConfig)
  },
  "loggingSettings": {
    object (LoggingSettings)
  },
  "errorHandlingSettings": {
    object (ErrorHandlingSettings)
  },
  "modelSettings": {
    object (ModelSettings)
  },
  "toolExecutionMode": enum (ToolExecutionMode),
  "evaluationMetricsThresholds": {
    object (EvaluationMetricsThresholds)
  },
  "variableDeclarations": [
    {
      object (VariableDeclaration)
    }
  ],
  "predefinedVariableDeclarations": [
    {
      object (VariableDeclaration)
    }
  ],
  "globalInstruction": string,
  "guardrails": [
    string
  ],
  "dataStoreSettings": {
    object (DataStoreSettings)
  },
  "defaultChannelProfile": {
    object (ChannelProfile)
  },
  "metadata": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "deploymentCount": integer,
  "clientCertificateSettings": {
    object (ClientCertificateSettings)
  },
  "vpcScSettings": {
    object (VpcScSettings)
  },
  "locked": boolean,
  "validationErrors": [
    string
  ],
  "dashboardSettings": {
    object (DashboardSettings)
  }
}
Campos
name

string

Es el identificador. Es el identificador único de la app. Formato: projects/{project}/locations/{location}/apps/{app}

displayName

string

Obligatorio. Es el nombre visible de la app.

description

string

Es opcional. Es la descripción legible por humanos de la app.

pinned

boolean

Es opcional. Indica si la app está fijada en la lista de apps.

rootAgent

string

Es opcional. El agente raíz es el punto de entrada de la app. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

languageSettings

object (LanguageSettings)

Es opcional. La configuración de idioma de la app

timeZoneSettings

object (TimeZoneSettings)

Es opcional. Es la configuración de la zona horaria de la app.

audioProcessingConfig

object (AudioProcessingConfig)

Es opcional. Es la configuración del procesamiento de audio de la app.

loggingSettings

object (LoggingSettings)

Es opcional. Es la configuración de registro de la app.

errorHandlingSettings

object (ErrorHandlingSettings)

Es opcional. Configuración de manejo de errores de la app.

modelSettings

object (ModelSettings)

Es opcional. La configuración predeterminada del modelo de LLM para la app. Los recursos individuales (p.ej., agentes y protecciones) pueden anular estos parámetros de configuración según sea necesario.

toolExecutionMode

enum (ToolExecutionMode)

Es opcional. Es el modo de ejecución de la herramienta para la app. Si no se proporciona, se establecerá de forma predeterminada en PARALLEL.

evaluationMetricsThresholds

object (EvaluationMetricsThresholds)

Es opcional. Son los umbrales de evaluación de la app.

variableDeclarations[]

object (VariableDeclaration)

Es opcional. Las declaraciones de las variables.

predefinedVariableDeclarations[]

object (VariableDeclaration)

Solo salida. Son las declaraciones de variables predefinidas para la app.

globalInstruction

string

Es opcional. Son instrucciones para todos los agentes de la app. Puedes usar esta instrucción para configurar una identidad o personalidad estable en todos los agentes.

guardrails[]

string

Es opcional. Es la lista de protecciones de la app. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

dataStoreSettings

object (DataStoreSettings)

Es opcional. Es la configuración del almacén de datos de la app.

defaultChannelProfile

object (ChannelProfile)

Es opcional. Es el perfil de canal predeterminado que usa la app.

metadata

map (key: string, value: string)

Es opcional. Son los metadatos sobre la app. Este campo se puede usar para almacenar información adicional relevante para los detalles de la app o los usos previstos.

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

createTime

string (Timestamp format)

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

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. Marca de tiempo de la última actualización de la app.

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

etag

string

Solo salida. Es la etiqueta de entidad que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si la etag está vacía, la actualización reemplazará cualquier cambio simultáneo.

deploymentCount

integer

Solo salida. Es la cantidad de implementaciones en la app.

clientCertificateSettings

object (ClientCertificateSettings)

Es opcional. Es la configuración predeterminada del certificado de cliente para la app.

vpcScSettings

object (VpcScSettings)

Es opcional. La configuración de VPC-SC para la app.

locked

boolean

Es opcional. Indica si la app está bloqueada para cambios. Si la app está bloqueada, se rechazarán las modificaciones en sus recursos.

validationErrors[]

string

Solo salida. Configuraciones incorrectas o advertencias en la app

dashboardSettings

object (DashboardSettings)

Es opcional. Configuración del panel específica de la app para vincular y configurar los paneles de Estadísticas de Contact Center.

LanguageSettings

Representación JSON
{
  "defaultLanguageCode": string,
  "supportedLanguageCodes": [
    string
  ],
  "enableMultilingualSupport": boolean,
  "fallbackAction": string
}
Campos
defaultLanguageCode

string

Es opcional. Es el código de idioma predeterminado de la app.

supportedLanguageCodes[]

string

Es opcional. Es la lista de códigos de idioma que admite la app, además de default_language_code.

enableMultilingualSupport

boolean

Es opcional. Habilita la compatibilidad multilingüe. Si es true, los agentes de la app usarán instrucciones precompiladas para mejorar el manejo de la entrada multilingüe.

fallbackAction
(deprecated)

string

Es opcional. Obsoleto: Esta función ya no es compatible. En su lugar, usa enable_multilingual_support para mejorar el manejo de la entrada multilingüe. Es la acción que se debe realizar cuando un agente recibe una entrada en un idioma no admitido.

Puede ser una acción predefinida o una llamada a la herramienta personalizada. Los valores válidos son los siguientes: - El nombre de recurso completo de una herramienta, que activa la ejecución de una herramienta específica. - Una acción predefinida del sistema, como "derivar" o "salir", que activa un indicador EndSession con el metadata correspondiente para finalizar la conversación.

TimeZoneSettings

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

string

Es opcional. Es la zona horaria de la app de la base de datos de zonas horarias, p.ej., America/Los_Angeles, Europe/Paris.

AudioProcessingConfig

Representación JSON
{
  "synthesizeSpeechConfigs": {
    string: {
      object (SynthesizeSpeechConfig)
    },
    ...
  },
  "bargeInConfig": {
    object (BargeInConfig)
  },
  "inactivityTimeout": string,
  "ambientSoundConfig": {
    object (AmbientSoundConfig)
  },
  "customVoiceSamples": [
    {
      object (CustomVoiceSample)
    }
  ]
}
Campos
synthesizeSpeechConfigs

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

Es opcional. Configuración de cómo se debe sintetizar la respuesta del agente, asignando el código de idioma a SynthesizeSpeechConfig.

Si no se encuentra la configuración del código de idioma especificado, se usará la configuración del código de idioma raíz. Por ejemplo, si el mapa contiene "en-us" y "en", y el código de idioma especificado es "en-gb", se usará la configuración "en".

Nota: El código de idioma no distingue mayúsculas de minúsculas.

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

bargeInConfig

object (BargeInConfig)

Es opcional. Configura el comportamiento del agente para las actividades de interrupción del usuario.

inactivityTimeout

string (Duration format)

Es opcional. Es la duración de la inactividad del usuario (sin voz ni interacción) antes de que el agente le solicite que vuelva a participar. Si no se establece, el agente no le solicitará al usuario que vuelva a interactuar.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

ambientSoundConfig

object (AmbientSoundConfig)

Es opcional. Configuración del sonido ambiental que se reproducirá con la respuesta sintetizada del agente para mejorar la naturalidad de la conversación.

customVoiceSamples[]

object (CustomVoiceSample)

Es opcional. Configura muestras de voz personalizadas para la clonación de voz.

SynthesizeSpeechConfigsEntry

Representación JSON
{
  "key": string,
  "value": {
    object (SynthesizeSpeechConfig)
  }
}
Campos
key

string

value

object (SynthesizeSpeechConfig)

SynthesizeSpeechConfig

Representación JSON
{
  "voice": string,
  "speakingRate": number,
  "model": string,
  "instruction": string
}
Campos
voice

string

Opcional. El nombre de la voz. Si no se configura, el servicio elegirá una voz según los otros parámetros, como language_code.

Para obtener la lista de voces disponibles, consulta Voces y lenguajes compatibles de Cloud Text-to-Speech.

speakingRate

number

Es opcional. La velocidad de habla en el rango [0.25, 2.0]. 1.0 es la velocidad nativa normal que admite la voz específica. 2.0 es el doble de rápido y 0.5 es la mitad. Los valores fuera del rango [0.25, 2.0] devolverán un error.

model

string

Es opcional. Es el modelo que se usa para sintetizar audio. Valores admitidos actualmente: - "gemini-3.1-flash-tts-preview" Si está vacío, se usa Chirp3-HD.

instruction

string

Es opcional. Es la instrucción que se usa para sintetizar la voz cuando se usa un modelo generativo.

BargeInConfig

Representación JSON
{
  "disableBargeIn": boolean,
  "bargeInAwareness": boolean
}
Campos
disableBargeIn
(deprecated)

boolean

Es opcional. Obsoleto: disable_barge_in dejó de estar disponible y se reemplazó por disable_barge_in_control en ChannelProfile.

Inhabilita la interrupción del usuario mientras el agente está hablando. Si es verdadero, se ignorará la entrada del usuario durante la reproducción de la respuesta del agente.

bargeInAwareness

boolean

Es opcional. Si está habilitado, el agente adaptará su próxima respuesta en función de la suposición de que el usuario no escuchó el mensaje anterior completo del agente. No se debe usar en situaciones en las que las respuestas del agente se muestran de forma visual.

Duración

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

string (int64 format)

Segundos con signo del intervalo de tiempo. Debe ser un valor entre -315,576,000,000 y +315,576,000,000 inclusive. Nota: Estos límites se calculan de la siguiente manera: 60 s/min * 60 min/h * 24 h/día * 365.25 días/año * 10,000 años

nanos

integer

Fracciones con signo de un segundo con una resolución de nanosegundos del intervalo de tiempo. Las duraciones de menos de un segundo se representan con un campo seconds de 0 y un campo nanos positivo o negativo. En el caso de las duraciones de un segundo o más, un valor distinto de cero para el campo nanos debe tener el mismo signo que el campo seconds. Deben ser valores de -999,999,999 a +999,999,999 inclusive.

AmbientSoundConfig

Representación JSON
{
  "volumeGainDb": number,

  // Union field source can be only one of the following:
  "prebuiltAmbientNoise": enum (PrebuiltAmbientNoise),
  "gcsUri": string,
  "prebuiltAmbientSound": string
  // End of list of possible types for union field source.
}
Campos
volumeGainDb

number

Es opcional. Es la ganancia de volumen (en dB) del volumen nativo normal que admite el ruido ambiental, en el rango [-96.0, 16.0]. Si no se establece, o se establece en un valor de 0.0 (dB), se reproducirá en la amplitud de la señal nativa normal. Un valor de -6.0 (dB) se reproducirá aproximadamente a la mitad de la amplitud de la señal nativa normal. Un valor de +6.0 (dB) se reproducirá aproximadamente al doble de la amplitud de la señal nativa normal. Recomendamos no superar los +10 (dB) ya que, por lo general, no hay un aumento efectivo en la sonoridad para ningún valor superior.

Campo de unión source. Es el ruido ambiental que se reproducirá con la respuesta sintetizada del agente para mejorar la naturalidad de la conversación. source puede ser solo uno de los parámetros siguientes:
prebuiltAmbientNoise
(deprecated)

enum (PrebuiltAmbientNoise)

Es opcional. Obsoleto: prebuilt_ambient_noise dejó de estar disponible y se reemplazó por prebuilt_ambient_sound.

gcsUri

string

Es opcional. Ruido ambiental como un archivo WAV de 16 kHz de un solo canal almacenado en Cloud Storage.

Nota: Asegúrate de que el agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com tenga el permiso storage.objects.get para el objeto de Cloud Storage.

prebuiltAmbientSound

string

Es opcional. Es el nombre del sonido ambiental predeterminado. Los valores válidos son los siguientes: - "coffee_shop" - "keyboard" - "keypad" - "hum" - "office_1" - "office_2" - "office_3" - "room_1" - "room_2" - "room_3" - "room_4" - "room_5" - "air_conditioner"

CustomVoiceSample

Representación JSON
{
  "name": string,
  "voiceSampleGcsUri": string,
  "consentAudioGcsUri": string,
  "voiceInstruction": string,
  "previewAudioContent": string,
  "previewText": string,
  "warnings": [
    {
      object (Warning)
    }
  ],
  "voiceInstructionMode": enum (VoiceInstructionMode)
}
Campos
name

string

Es opcional. Es el nombre definido por el usuario para la muestra de voz personalizada.

voiceSampleGcsUri

string

Es opcional. Es el URI de Cloud Storage de la muestra de audio para la clonación de voz. La muestra de audio debe ser un archivo WAV de 24 kHz y un solo canal.

consentAudioGcsUri

string

Es opcional. Audio de consentimiento para la clonación de voz.

voiceInstruction

string

Es opcional. Son las instrucciones en lenguaje natural para el estilo, el tono, el ritmo o la pronunciación de la voz.

previewAudioContent

string (bytes format)

Solo salida. Es el audio de vista previa sintetizado para la voz personalizada, con formato WAV canónico (LINEAR16, 24 kHz, 16 bits, mono).

Es una cadena codificada en Base64.

previewText

string

Es opcional. Texto para sintetizar el audio de vista previa de la voz personalizada.

warnings[]

object (Warning)

Solo salida. Son los mensajes de advertencia que se encontraron durante el procesamiento de la clonación de voz (p.ej., nivel de audio bajo).

voiceInstructionMode

enum (VoiceInstructionMode)

Es opcional. Es el modo de instrucción para la muestra de voz. Si no se especifica, se establece de forma predeterminada como NO_INSTRUCTION.

Advertencia

Representación JSON
{
  "message": string,
  "type": enum (WarningType)
}
Campos
message

string

Solo salida. Es una descripción legible por humanos de la advertencia.

type

enum (WarningType)

Solo salida. Es el tipo de advertencia.

LoggingSettings

Representación JSON
{
  "redactionConfig": {
    object (RedactionConfig)
  },
  "audioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "unredactedAudioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "bigqueryExportSettings": {
    object (BigQueryExportSettings)
  },
  "unredactedBigqueryExportSettings": {
    object (BigQueryExportSettings)
  },
  "cloudLoggingSettings": {
    object (CloudLoggingSettings)
  },
  "conversationLoggingSettings": {
    object (ConversationLoggingSettings)
  },
  "evaluationAudioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "metricAnalysisSettings": {
    object (MetricAnalysisSettings)
  },
  "requiredRecordingConsent": boolean
}
Campos
redactionConfig

object (RedactionConfig)

Es opcional. Es la configuración de cómo se deben ocultar los datos sensibles.

audioRecordingConfig

object (AudioRecordingConfig)

Es opcional. Configuración de cómo se deben grabar las interacciones de audio. El audio está sujeto a ocultamiento según lo configurado en RedactionConfig.

unredactedAudioRecordingConfig

object (AudioRecordingConfig)

Es opcional. Configura una grabación adicional de audio sin ocultar. Esto se puede usar para mantener una copia de audio sin procesar cuando se enabled la ocultación de audio, por lo general, con fines de auditoría o supervisión.

bigqueryExportSettings

object (BigQueryExportSettings)

Es opcional. Configura los comportamientos de BigQuery Export para la app. Los datos de la conversación están sujetos a ocultamiento, según se configura en RedactionConfig.

unredactedBigqueryExportSettings

object (BigQueryExportSettings)

Es opcional. Configura los comportamientos de exportación de BigQuery para la app. Los datos de conversación sin ocultar se exportarán a las tablas de BigQuery si están habilitados.

cloudLoggingSettings

object (CloudLoggingSettings)

Es opcional. Es la configuración para describir los comportamientos de Cloud Logging de la app.

conversationLoggingSettings

object (ConversationLoggingSettings)

Es opcional. Es la configuración para describir los comportamientos de registro de conversaciones de la app.

evaluationAudioRecordingConfig

object (AudioRecordingConfig)

Es opcional. Es la configuración de cómo se deben grabar las interacciones de audio para la evaluación. De forma predeterminada, la grabación de audio no está habilitada para las sesiones de evaluación.

metricAnalysisSettings

object (MetricAnalysisSettings)

Es opcional. Son los parámetros de configuración que describen los comportamientos de recopilación de datos de conversaciones para la canalización de análisis de LLM de la app.

requiredRecordingConsent

boolean

Es opcional. Si la app debe indicar qué se puede grabar antes de que se guarde cualquier elemento.

Cuando es verdadero, una sesión comienza con la grabación desactivada y permanece desactivada hasta que el cliente envía SessionInput.recording_control, que luego decide cada turno a partir de ese momento. Esto abarca la grabación de audio, así como el historial de conversaciones, la exportación a BigQuery y Cloud Logging.

Cuando se establece en false, el valor predeterminado, los parámetros de configuración anteriores deciden por sí mismos y el cliente no tiene que enviar nada.

RedactionConfig

Representación JSON
{
  "enableRedaction": boolean,
  "inspectTemplate": string,
  "deidentifyTemplate": string
}
Campos
enableRedaction

boolean

Es opcional. Si es true, se aplicará la ocultación en varias situaciones de registro, como el historial de conversaciones, Cloud Logging y la grabación de audio.

inspectTemplate

string

Es opcional. Nombre de la plantilla de inspección de DLP para configurar la detección de tipos de datos sensibles.

Formato: projects/{project}/locations/{location}/inspectTemplates/{inspect_template}

deidentifyTemplate

string

Es opcional. Nombre de la plantilla de desidentificación de DLP para indicar cómo desidentificar el contenido.

Formato: projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}

AudioRecordingConfig

Representación JSON
{
  "gcsBucket": string,
  "gcsPathPrefix": string
}
Campos
gcsBucket

string

Es opcional. El bucket de Cloud Storage para almacenar las grabaciones de audio de la sesión. El URI debe empezar con "gs://".

Elige una ubicación de bucket que cumpla con tus requisitos de residencia de datos.

Nota: Si el bucket de Cloud Storage está en un proyecto diferente al de la app, debes otorgar el permiso storage.objects.create al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

gcsPathPrefix

string

Es opcional. Es el prefijo de la ruta de acceso de Cloud Storage para las grabaciones de audio.

Este prefijo puede incluir los siguientes marcadores de posición, que se sustituirán de forma dinámica en el momento de la publicación: - $project: ID del proyecto - $location: ubicación de la app - $app: ID de la app - $date: fecha de la sesión en formato AAAA-MM-DD - $session: ID de la sesión

Si no se especifica el prefijo de la ruta de acceso, se usará el prefijo predeterminado $project/$location/$app/$date/$session/.

BigQueryExportSettings

Representación JSON
{
  "enabled": boolean,
  "project": string,
  "dataset": string
}
Campos
enabled

boolean

Es opcional. Indica si la exportación de BigQuery está habilitada.

project

string

Es opcional. El ID del proyecto del conjunto de datos de BigQuery al que se exportarán los datos.

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

dataset

string

Es opcional. Es el ID del conjunto de datos de BigQuery al que se exportarán los datos.

CloudLoggingSettings

Representación JSON
{
  "enableCloudLogging": boolean
}
Campos
enableCloudLogging

boolean

Es opcional. Indica si se debe habilitar Cloud Logging para las sesiones.

ConversationLoggingSettings

Representación JSON
{
  "disableConversationLogging": boolean,
  "retentionWindow": string
}
Campos
disableConversationLogging

boolean

Es opcional. Indica si se debe inhabilitar el registro de conversaciones para las sesiones.

retentionWindow

string (Duration format)

Es opcional. Controla el período de retención de la conversación. Si no se establece, la conversación se conservará durante 365 días.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

MetricAnalysisSettings

Representación JSON
{
  "llmMetricsOptedOut": boolean
}
Campos
llmMetricsOptedOut

boolean

Es opcional. Indica si se deben recopilar datos de conversación para las métricas de análisis de LLM. Si se establece como verdadero, no se recopilarán datos de conversación para las métricas de análisis de LLM; de lo contrario, se recopilarán datos de conversación.

ErrorHandlingSettings

Representación JSON
{
  "errorHandlingStrategy": enum (ErrorHandlingStrategy),
  "fallbackResponseConfig": {
    object (FallbackResponseConfig)
  },
  "endSessionConfig": {
    object (EndSessionConfig)
  }
}
Campos
errorHandlingStrategy

enum (ErrorHandlingStrategy)

Es opcional. Es la estrategia que se usará para el manejo de errores.

fallbackResponseConfig

object (FallbackResponseConfig)

Es opcional. Configuración para controlar las respuestas de resguardo.

endSessionConfig

object (EndSessionConfig)

Es opcional. Es la configuración para finalizar la sesión en caso de errores del sistema (p.ej., errores de LLM).

FallbackResponseConfig

Representación JSON
{
  "customFallbackMessages": {
    string: string,
    ...
  },
  "maxFallbackAttempts": integer
}
Campos
customFallbackMessages

map (key: string, value: string)

Es opcional. Son los mensajes de resguardo en caso de errores del sistema (p.ej., errores de LLM), asignados por el código de idioma admitido.

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

maxFallbackAttempts

integer

Es opcional. Es la cantidad máxima de intentos de resguardo que se deben realizar antes de que el agente emita el indicador EndSession.

CustomFallbackMessagesEntry

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

string

value

string

EndSessionConfig

Representación JSON
{

  // Union field _escalate_session can be only one of the following:
  "escalateSession": boolean
  // End of list of possible types for union field _escalate_session.
}
Campos

Campo de unión _escalate_session.

_escalate_session puede ser una de las siguientes opciones:

escalateSession

boolean

Es opcional. Indica si se debe derivar la sesión en EndSession. Si se deriva la sesión, metadata in EndSession contendrá session_escalated = true. Consulta https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/deploy/google-telephony-platform#transfer_a_call_to_a_human_agent para obtener más detalles.

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 de LLM que debe usar el agente. Si no se establece, 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 establece, se usará esta temperatura 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.

EvaluationMetricsThresholds

Representación JSON
{
  "goldenEvaluationMetricsThresholds": {
    object (GoldenEvaluationMetricsThresholds)
  },
  "hallucinationMetricBehavior": enum (HallucinationMetricBehavior),
  "goldenHallucinationMetricBehavior": enum (HallucinationMetricBehavior),
  "scenarioHallucinationMetricBehavior": enum (HallucinationMetricBehavior)
}
Campos
goldenEvaluationMetricsThresholds

object (GoldenEvaluationMetricsThresholds)

Es opcional. Los umbrales de las métricas de evaluación de referencia.

hallucinationMetricBehavior
(deprecated)

enum (HallucinationMetricBehavior)

Es opcional. Obsoleto: Usa golden_hallucination_metric_behavior en su lugar. Actualmente, el comportamiento de la métrica de alucinación se usa para las evaluaciones de referencia.

goldenHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

Es opcional. Es el comportamiento de la métrica de alucinación para las evaluaciones de referencia.

scenarioHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

Es opcional. Es el comportamiento de la métrica de alucinación para las evaluaciones de situaciones.

GoldenEvaluationMetricsThresholds

Representación JSON
{
  "turnLevelMetricsThresholds": {
    object (TurnLevelMetricsThresholds)
  },
  "expectationLevelMetricsThresholds": {
    object (ExpectationLevelMetricsThresholds)
  },
  "toolMatchingSettings": {
    object (ToolMatchingSettings)
  }
}
Campos
turnLevelMetricsThresholds

object (TurnLevelMetricsThresholds)

Es opcional. Son los umbrales de las métricas a nivel del turno.

expectationLevelMetricsThresholds

object (ExpectationLevelMetricsThresholds)

Es opcional. Son los umbrales de las métricas de nivel de expectativa.

toolMatchingSettings

object (ToolMatchingSettings)

Es opcional. La configuración de coincidencia de la herramienta. Una llamada a la herramienta adicional es una llamada a la herramienta que está presente en la ejecución, pero que no coincide con ninguna llamada a la herramienta en la expectativa de referencia.

TurnLevelMetricsThresholds

Representación JSON
{
  "semanticSimilarityChannel": enum (SemanticSimilarityChannel),

  // Union field _semantic_similarity_success_threshold can be only one of the
  // following:
  "semanticSimilaritySuccessThreshold": integer
  // End of list of possible types for union field
  // _semantic_similarity_success_threshold.

  // Union field _overall_tool_invocation_correctness_threshold can be only one
  // of the following:
  "overallToolInvocationCorrectnessThreshold": number
  // End of list of possible types for union field
  // _overall_tool_invocation_correctness_threshold.
}
Campos
semanticSimilarityChannel

enum (SemanticSimilarityChannel)

Es opcional. Es el canal de similitud semántica que se usará para la evaluación.

Campo de unión _semantic_similarity_success_threshold.

_semantic_similarity_success_threshold puede ser una de las siguientes opciones:

semanticSimilaritySuccessThreshold

integer

Es opcional. Es el umbral de éxito para la similitud semántica. Debe ser un número entero entre 0 y 4. El valor predeterminado es >= 3.

Campo de unión _overall_tool_invocation_correctness_threshold.

_overall_tool_invocation_correctness_threshold puede ser una de las siguientes opciones:

overallToolInvocationCorrectnessThreshold

number

Es opcional. Es el umbral de éxito para la corrección general de la invocación de herramientas. Debe ser un número de punto flotante entre 0 y 1. El valor predeterminado es 1.0.

ExpectationLevelMetricsThresholds

Representación JSON
{

  // Union field _tool_invocation_parameter_correctness_threshold can be only one
  // of the following:
  "toolInvocationParameterCorrectnessThreshold": number
  // End of list of possible types for union field
  // _tool_invocation_parameter_correctness_threshold.
}
Campos

Campo de unión _tool_invocation_parameter_correctness_threshold.

_tool_invocation_parameter_correctness_threshold puede ser una de las siguientes opciones:

toolInvocationParameterCorrectnessThreshold

number

Es opcional. Es el umbral de éxito para la corrección de los parámetros de invocación de herramientas individuales. Debe ser un número de punto flotante entre 0 y 1. El valor predeterminado es 1.0.

ToolMatchingSettings

Representación JSON
{
  "extraToolCallBehavior": enum (ExtraToolCallBehavior)
}
Campos
extraToolCallBehavior

enum (ExtraToolCallBehavior)

Es opcional. Comportamiento para las llamadas a herramientas adicionales. La configuración predeterminada es FAIL.

VariableDeclaration

Representación JSON
{
  "name": string,
  "description": string,
  "schema": {
    object (Schema)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la variable. El nombre debe comenzar con una letra o un guion bajo, y solo puede contener letras, números o guiones bajos.

description

string

Obligatorio. Es la descripción de la variable.

schema

object (Schema)

Obligatorio. Es el esquema de la variable.

Esquema

Representación JSON
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
Campos
type

enum (Type)

Obligatorio. Es el tipo de datos.

properties

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

Es opcional. Propiedades de Type.OBJECT.

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

required[]

string

Es opcional. Propiedades obligatorias de Type.OBJECT.

description

string

Es opcional. La descripción de los datos.

items

object (Schema)

Es opcional. Esquema de los elementos de Type.ARRAY.

nullable

boolean

Es opcional. Indica si el valor puede ser nulo.

uniqueItems

boolean

Es opcional. Indica que los elementos del array deben ser únicos. Solo se aplica a TYPE.ARRAY.

prefixItems[]

object (Schema)

Es opcional. Esquemas de los elementos iniciales de Type.ARRAY.

additionalProperties

object (Schema)

Es opcional. Puede ser un booleano o un objeto, y controla la presencia de propiedades adicionales.

anyOf[]

object (Schema)

Es opcional. El valor se debe validar con cualquiera (uno o más) de los subesquemas de la lista.

enum[]

string

Es opcional. Valores posibles del elemento de tipo primitivo con formato de enumeración. Ejemplos: 1. Podemos definir la dirección de la siguiente manera : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Podemos definir el número de departamento de la siguiente manera : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Es opcional. Es el valor predeterminado de los datos.

ref

string

Es opcional. Permite referencias indirectas entre nodos de esquema. El valor debe ser una referencia válida a un elemento secundario de la raíz defs.

Por ejemplo, el siguiente esquema define una referencia a un nodo de esquema llamado "Pet":

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

El valor de la propiedad "pet" es una referencia al nodo de esquema llamado "Pet". Consulta los detalles en https://json-schema.org/understanding-json-schema/structuring.

defs

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

Es opcional. Es un mapa de definiciones que usa ref. Solo se permite en la raíz del esquema.

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

title

string

Es opcional. Es el título del esquema.

minItems

string (int64 format)

Es opcional. Es la cantidad mínima de elementos para Type.ARRAY.

maxItems

string (int64 format)

Es opcional. Es la cantidad máxima de elementos para Type.ARRAY.

Campo de unión _minimum.

_minimum puede ser una de las siguientes opciones:

minimum

number

Es opcional. Es el valor mínimo para Type.INTEGER y Type.NUMBER.

Campo de unión _maximum.

_maximum puede ser una de las siguientes opciones:

maximum

number

Es opcional. Es el valor máximo para Type.INTEGER y Type.NUMBER.

PropertiesEntry

Representación JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

Valor

Representación JSON
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Campos
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes:
nullValue

null

Representa un null JSON.

numberValue

number

Representa un número JSON. No debe ser NaN, Infinity ni -Infinity, ya que no se admiten en JSON. Tampoco puede representar valores Int64 grandes, ya que el formato JSON, por lo general, no los admite en su tipo de número.

stringValue

string

Representa una cadena JSON.

boolValue

boolean

Representa un booleano JSON (literal true o false en JSON).

structValue

object (Struct format)

Representa un objeto JSON.

listValue

array (ListValue format)

Representa un array JSON.

Struct

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

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

Es un mapa sin ordenar de valores con tipo dinámico.

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

FieldsEntry

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

string

value

value (Value format)

ListValue

Representación JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Es un campo repetido de valores con tipo dinámico.

DefsEntry

Representación JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

DataStoreSettings

Representación JSON
{
  "engines": [
    {
      object (Engine)
    }
  ]
}
Campos
engines[]

object (Engine)

Solo salida. Son los motores de la app.

Motor

Representación JSON
{
  "name": string,
  "type": enum (Type)
}
Campos
name

string

Solo salida. Es el nombre del recurso del motor. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

type

enum (Type)

Solo salida. Es el tipo de motor.

ChannelProfile

Representación JSON
{
  "profileId": string,
  "channelType": enum (ChannelType),
  "personaProperty": {
    object (PersonaProperty)
  },
  "webWidgetConfig": {
    object (WebWidgetConfig)
  },
  "whatsappConfig": {
    object (WhatsAppConfig)
  },
  "instagramConfig": {
    object (InstagramConfig)
  },

  // Union field _disable_dtmf can be only one of the following:
  "disableDtmf": boolean
  // End of list of possible types for union field _disable_dtmf.

  // Union field _disable_barge_in_control can be only one of the following:
  "disableBargeInControl": boolean
  // End of list of possible types for union field _disable_barge_in_control.

  // Union field _noise_suppression_level can be only one of the following:
  "noiseSuppressionLevel": string
  // End of list of possible types for union field _noise_suppression_level.
}
Campos
profileId

string

Es opcional. Es el identificador único del perfil del canal.

channelType

enum (ChannelType)

Es opcional. Es el tipo de perfil del canal.

personaProperty

object (PersonaProperty)

Es opcional. Es la propiedad de la persona del perfil del canal.

webWidgetConfig

object (WebWidgetConfig)

Es opcional. La configuración del widget web.

whatsappConfig

object (WhatsAppConfig)

Es opcional. Es la configuración específica de las implementaciones de WhatsApp.

instagramConfig

object (InstagramConfig)

Es opcional. Configuración específica para las implementaciones de Instagram.

Campo de unión _disable_dtmf.

_disable_dtmf puede ser una de las siguientes opciones:

disableDtmf

boolean

Es opcional. Indica si se debe inhabilitar la DTMF (multifrecuencia de dos tonos).

Campo de unión _disable_barge_in_control.

_disable_barge_in_control puede ser una de las siguientes opciones:

disableBargeInControl

boolean

Es opcional. Indica si se debe inhabilitar el control de interrupción del usuario en la conversación. - true: Las interrupciones del usuario se inhabilitan mientras el agente habla. - false: El agente conserva el control automático sobre cuándo el usuario puede interrumpir.

Campo de unión _noise_suppression_level.

_noise_suppression_level puede ser una de las siguientes opciones:

noiseSuppressionLevel

string

Es opcional. Es el nivel de reducción de ruido del perfil del canal. Los valores disponibles son "low", "moderate", "high" y "very_high".

PersonaProperty

Representación JSON
{
  "persona": enum (Persona)
}
Campos
persona

enum (Persona)

Es opcional. La personalidad del canal

WebWidgetConfig

Representación JSON
{
  "modality": enum (Modality),
  "theme": enum (Theme),
  "webWidgetTitle": string,
  "securitySettings": {
    object (SecuritySettings)
  }
}
Campos
modality

enum (Modality)

Es opcional. La modalidad del widget web.

theme

enum (Theme)

Es opcional. Es el tema del widget web.

webWidgetTitle

string

Es opcional. Es el título del widget web.

securitySettings

object (SecuritySettings)

Es opcional. La configuración de seguridad del widget web.

SecuritySettings

Representación JSON
{
  "enablePublicAccess": boolean,
  "enableOriginCheck": boolean,
  "allowedOrigins": [
    string
  ],
  "enableRecaptcha": boolean
}
Campos
enablePublicAccess

boolean

Es opcional. Indica si está habilitado el acceso público al widget web. Si es true, el widget web será de acceso público. Si es false, el widget web debe integrarse con tu propio sistema de autenticación y autorización para devolver credenciales válidas que permitan acceder al agente de CES.

enableOriginCheck

boolean

Es opcional. Indica si está habilitada la verificación de origen para el widget web. Si es true, el widget web verificará el origen del sitio web que lo carga y solo permitirá que se cargue en el mismo origen o en cualquiera de los orígenes permitidos.

allowedOrigins[]

string

Es opcional. Son los orígenes que pueden alojar el widget web. RFC 6454 define un origen. Si está vacío, se permiten todos los orígenes. Se permite un máximo de 100 orígenes. Ejemplo: "https://example.com"

enableRecaptcha

boolean

Es opcional. Indica si la verificación de reCAPTCHA para el widget web está habilitada.

WhatsAppConfig

Representación JSON
{
  "wabaId": string,
  "phoneNumberId": string,
  "phoneNumber": string,
  "displayName": string,
  "thumbnailUrl": string,
  "description": string
}
Campos
wabaId

string

Obligatorio. Es el ID de la cuenta de WhatsApp Business.

phoneNumberId

string

Obligatorio. Es el ID del número de teléfono de Meta.

phoneNumber

string

Es opcional. Es el número de teléfono en formato E.164.

displayName

string

Solo salida. Es el nombre de la página de Meta de la empresa que se recuperó.

thumbnailUrl

string

Solo salida. Es la URL de la miniatura del perfil de Meta de la empresa que se recuperó.

description

string

Solo salida. La descripción de la página o el perfil de Meta de la empresa.

InstagramConfig

Representación JSON
{
  "instagramAccountId": string,
  "displayName": string,
  "thumbnailUrl": string,
  "description": string
}
Campos
instagramAccountId

string

Obligatorio. Es el ID de la cuenta de Instagram.

displayName

string

Solo salida. Es el nombre de la página de Meta de la empresa que se recuperó.

thumbnailUrl

string

Solo salida. Es la URL de la miniatura del perfil de Meta de la empresa que se recuperó.

description

string

Solo salida. La descripción de la página o el perfil de Meta de la empresa.

MetadataEntry

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

string

value

string

ClientCertificateSettings

Representación JSON
{
  "tlsCertificate": string,
  "privateKey": string,
  "passphrase": string
}
Campos
tlsCertificate

string

Obligatorio. Es el certificado TLS codificado en formato PEM. Esta cadena debe incluir las líneas de encabezado de inicio y de pie de página de finalización.

privateKey

string

Obligatorio. Es el nombre del recurso de la versión del Secret de SecretManager que almacena la clave privada codificada en formato PEM. Formato: projects/{project}/secrets/{secret}/versions/{version}

passphrase

string

Es opcional. Es el nombre del recurso de la versión del Secret de Secret Manager que almacena la frase de contraseña para desencriptar la clave privada. Debe dejarse sin configurar si la clave privada no está encriptada. Formato: projects/{project}/secrets/{secret}/versions/{version}

VpcScSettings

Representación JSON
{
  "allowedOrigins": [
    string
  ]
}
Campos
allowedOrigins[]

string

Es opcional. Son los orígenes HTTP(S) permitidos a los que las herramientas de OpenAPI de la app pueden llamar directamente cuando los Controles del servicio de VPC están habilitados. Estas cadenas deben coincidir exactamente con el origen, incluido el puerto si se especifica. Por ejemplo, "https://example.com" o "https://example.com:443". Esta lista aún no se aplica a las herramientas de Python que pueden realizar llamadas HTTP directas.

DashboardSettings

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

string

Es opcional. Es el nombre del recurso del panel predeterminado de Estadísticas de Contact Center asociado con la app. Este es el panel que se mostrará cuando los usuarios naveguen a la vista de Supervisión de la app.

Formato: projects/{project}/locations/{location}/dashboards/{dashboard}

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. Descripción del agente legible por humanos.

modelSettings

object (ModelSettings)

Es opcional. Son los parámetros de configuración del modelo de LLM.

instruction

string

Es opcional. Son las instrucciones para que el modelo de LLM guíe 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 muestra 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 muestra 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 muestra 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 muestra 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 muestra 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 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 muestra 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. 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 barreras de seguridad para el agente. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

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

toolsets[]

object (AgentToolset)

Es opcional. Es la lista de conjuntos de herramientas para el agente.

generatedSummary

string

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

transferRules[]

object (TransferRule)

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

validationErrors[]

string

Solo salida. Parámetros de configuración incorrectos o errores 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 establece 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. 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 de 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. La asignación de los nombres de las variables de la app a los nombres de los parámetros de 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 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 establecida 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. Es el 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 de 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. Asignación de nombres de variables de entrada del agente remoto a nombres de 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. Asignación de nombres de variables de salida del agente remoto a nombres de 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. Especificación del agente remoto. agent_spec puede ser solo uno de los parámetros siguientes:
agentCard

object (AgentCard)

Es opcional. La tarjeta de agente completa definida de forma intercalada.

agentRegistry

string

Es opcional. 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. Una descripción del dominio de acción o espacio de solución del agente.

supportedInterfaces[]

object (AgentInterface)

Obligatorio. Es una 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 un poco abstracto, pero representa un conjunto de acciones más enfocado en el 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 de protocolo admitida en esta URL. Esta es una cadena de formato abierto que se puede extender fácilmente para otras vinculaciones de protocolo. Los principales que se admiten oficialmente son JSONRPC, GRPC y HTTP+JSON.

tenant

string

Es el ID de usuario 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 por humanos para la habilidad.

description

string

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

tags[]

string

Obligatorio. Un conjunto de palabras clave que describen las capacidades de la habilidad.

examples[]

string

Instrucciones o situaciones de ejemplo que esta habilidad puede controlar.

inputModes[]

string

Es el conjunto de tipos de contenido multimedia 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. Configuración para la autenticación con clave de API.

oauthConfig

object (OAuthConfig)

Es opcional. Configuración de OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Es opcional. Es la configuración para la autenticación con tokens de ID generada 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 del 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 del Secret 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. Es el nombre del recurso de la versión del Secret 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 que se intercambiará 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 permiso 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

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 por humanos de la devolución de llamada.

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 se habilita, 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 posterior al modelo. HABILITA 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.

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. 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 transfiere de inmediato al agente de destino cuando se cumple la condición.

disablePlannerTransfer

object (DisablePlannerTransfer)

Es opcional. Es la regla que impide que el planificador transfiera al agente de destino.

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 produce 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 produce 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, el planificador no podrá transferir al agente de destino.

Herramienta

Representación JSON
{
  "name": string,
  "displayName": string,
  "executionType": enum (ExecutionType),
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "generatedSummary": string,
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },
  "readOnly": boolean,

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

string

Es el identificador. Es el nombre del recurso de la herramienta. Formato:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} para las herramientas independientes.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} para las herramientas recuperadas de un conjunto de herramientas.

Estas herramientas son dinámicas y solo de salida; no se puede hacer referencia a ellas directamente donde se espera una herramienta.

displayName

string

Solo salida. Es el nombre visible de la herramienta, que se deriva según su tipo. Por ejemplo, el nombre visible de una [ClientFunction][Tool.ClientFunction] se deriva de su propiedad name.

executionType

enum (ExecutionType)

Es opcional. Es el tipo de ejecución de la herramienta.

timeout

string (Duration format)

Es opcional. Es el tiempo de espera para la ejecución de la herramienta. Si no se establece, el tiempo de espera predeterminado es de 30 segundos para las herramientas de SYNCHRONOUS y de 60 segundos para las herramientas de ASYNCHRONOUS.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

createTime

string (Timestamp format)

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

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. Marca de tiempo de la última actualización de la herramienta.

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

etag

string

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

generatedSummary

string

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

toolFakeConfig

object (ToolFakeConfig)

Es opcional. Configuración del comportamiento de la herramienta en el modo falso.

readOnly

boolean

Solo salida. Indica si la herramienta es de solo lectura. Si es verdadero, el usuario no puede modificar la herramienta.

Campo de unión tool_type. Es el tipo de herramienta. tool_type puede ser solo uno de los parámetros siguientes:
clientFunction

object (ClientFunction)

Es opcional. La función del cliente

openApiTool

object (OpenApiTool)

Es opcional. La herramienta de API abierta.

googleSearchTool

object (GoogleSearchTool)

Es opcional. La herramienta de Búsqueda de Google

connectorTool

object (ConnectorTool)

Es opcional. La herramienta Integration Connector

dataStoreTool

object (DataStoreTool)

Es opcional. La herramienta de almacén de datos.

pythonFunction

object (PythonFunction)

Es opcional. La herramienta de función de Python.

mcpTool

object (McpTool)

Es opcional. La herramienta de MCP. No se puede crear ni actualizar una herramienta de MCP directamente, y se administra con el conjunto de herramientas de MCP.

fileSearchTool

object (FileSearchTool)

Es opcional. La herramienta de búsqueda de archivos.

systemTool

object (SystemTool)

Es opcional. La herramienta del sistema.

agentTool

object (AgentTool)

Es opcional. La herramienta del agente.

widgetTool

object (WidgetTool)

Es opcional. La herramienta de widgets

remoteAgentTool

object (RemoteAgentTool)

Es opcional. La herramienta de agente remoto.

ClientFunction

Representación JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la función.

description

string

Es opcional. Es la descripción de la función.

parameters

object (Schema)

Es opcional. Es el esquema de los parámetros de la función.

response

object (Schema)

Es opcional. Es el esquema de la respuesta de la función.

OpenApiTool

Representación JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Campos
openApiSchema

string

Obligatorio. Es el esquema de OpenAPI en formato JSON o YAML.

name

string

Es opcional. Es el nombre de la herramienta. Si no se proporciona, el nombre de la herramienta se derivará del esquema de OpenAPI, de operation.operationId.

description

string

Es opcional. Es la descripción de la herramienta. Si no se proporciona, la descripción de la herramienta se derivará del esquema de OpenAPI, de operation.description o operation.summary.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la información de autenticación que requiere la API.

tlsConfig

object (TlsConfig)

Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que confiará el cliente.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Configuración del Directorio de servicios.

ignoreUnknownFields

boolean

Es opcional. Si es verdadero, el agente ignorará los campos desconocidos en la respuesta de la API.

url

string

Es opcional. Es la URL del servidor del esquema de OpenAPI. Este campo solo se establece en las herramientas de las dependencias del entorno durante el proceso de exportación si el esquema contiene una URL del servidor. Durante el proceso de importación, si esta URL está presente en las dependencias del entorno y el esquema tiene el marcador de posición $env_var, se reemplazará el marcador de posición en el esquema.

TlsConfig

Representación JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Campos
caCerts[]

object (CaCert)

Obligatorio. Especifica una lista de certificados de AC personalizados permitidos para la verificación de HTTPS.

CaCert

Representación JSON
{
  "displayName": string,
  "cert": string
}
Campos
displayName

string

Obligatorio. Es el nombre de los certificados de la AC personalizados permitidos. Esto se puede usar para eliminar la ambigüedad de los certificados de la AC personalizados.

cert

string (bytes format)

Obligatorio. Son los certificados de la AC personalizados permitidos (en formato DER) para la verificación de HTTPS. Esto anula el almacén de confianza de SSL predeterminado. Si este campo está vacío o no se especifica, CES usará el almacén de confianza predeterminado de Google para verificar los certificados. Nota: Asegúrate de que los certificados del servidor HTTPS estén firmados con "subject alt name". Por ejemplo, un certificado se puede autofirmar con el siguiente comando:

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

Es una cadena codificada en Base64.

ServiceDirectoryConfig

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

string

Obligatorio. Es el nombre del servicio del Directorio de servicios. Formato: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. La ubicación del directorio de servicios debe ser la misma que la de la app.

GoogleSearchTool

Representación JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta.

description

string

Es opcional. Descripción del propósito de la herramienta.

contextUrls[]

string

Es opcional. El contenido se recuperará directamente de estas URLs para el contexto y la fundamentación. Ejemplo: "https://example.com/path.html". Se permite un máximo de 20 URLs.

preferredDomains[]

string

Es opcional. Especifica los dominios a los que se deben restringir los resultados de la búsqueda. Ejemplo: "example.com", "another.site". Se puede especificar un máximo de 20 dominios.

excludeDomains[]

string

Es opcional. Es la lista de dominios que se excluirán de los resultados de la búsqueda. Ejemplo: "example.com". Se puede excluir un máximo de 2,000 dominios.

promptConfig

object (PromptConfig)

Es opcional. Son las instrucciones de la instrucción que se pasan al planificador sobre cómo se deben procesar los resultados de la búsqueda para texto y voz.

PromptConfig

Representación JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Campos
textPrompt

string

Es opcional. Define la instrucción que se usa para las instrucciones del sistema cuando se interactúa con el agente en conversaciones de chat. Si no se establece, se usará la instrucción predeterminada.

voicePrompt

string

Es opcional. Define la instrucción que se usa para las instrucciones del sistema cuando se interactúa con el agente en conversaciones de voz. Si no se establece, se usará la instrucción predeterminada.

ConnectorTool

Representación JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Campos
connection

string

Obligatorio. Es el nombre completo del recurso de la conexión de Integration Connectors a la que se hace referencia. Formato: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Obligatorio. Es la acción que debe usar la herramienta.

authConfig

object (EndUserAuthConfig)

Es opcional. Configura cómo se controla la autenticación en Integration Connectors. De forma predeterminada, se pasa una autenticación de administrador en las solicitudes a la API de Integration Connectors. Puedes anularla con una configuración de autenticación de usuario final diferente. Nota: La conexión debe tener habilitada la anulación de la autenticación para especificar una configuración de EUC aquí; de lo contrario, fallará la creación de ConnectorTool. Consulta https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override para obtener más detalles.

name

string

Es opcional. Es el nombre de la herramienta que puede usar el agente para decidir si llamar a esta ConnectorTool.

description

string

Es opcional. Es la descripción de la herramienta que el agente puede usar para decidir si llamar a esta ConnectorTool.

Acción

Representación JSON
{
  "inputFields": [
    string
  ],
  "outputFields": [
    string
  ],

  // Union field action_spec can be only one of the following:
  "connectionActionId": string,
  "entityOperation": {
    object (EntityOperation)
  }
  // End of list of possible types for union field action_spec.
}
Campos
inputFields[]

string

Es opcional. Son los campos de entidad que se usarán como entradas para la operación. Si no se especifica ningún campo, se usarán todos los campos de la entidad.

outputFields[]

string

Es opcional. Son los campos de entidad que se devolverán de la operación. Si no se especifica ningún campo, se devolverán todos los campos de la entidad.

Campo de unión action_spec. Especificación de una acción que se debe configurar para que la herramienta la use. action_spec puede ser solo uno de los parámetros siguientes:
connectionActionId

string

Es el ID de una acción de conexión que usará la herramienta.

entityOperation

object (EntityOperation)

Es la configuración de la operación de entidad que usará la herramienta.

EntityOperation

Representación JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Campos
entityId

string

Obligatorio. Es el ID de la entidad.

operation

enum (OperationType)

Obligatorio. Es la operación que se realizará en la entidad.

EndUserAuthConfig

Representación JSON
{

  // Union field auth_config can be only one of the following:
  "oauth2AuthCodeConfig": {
    object (Oauth2AuthCodeConfig)
  },
  "oauth2JwtBearerConfig": {
    object (Oauth2JwtBearerConfig)
  }
  // End of list of possible types for union field auth_config.
}
Campos
Campo de unión auth_config. Es la configuración de autenticación. auth_config puede ser solo uno de los parámetros siguientes:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Autenticación con código de autorización de OAuth 2.0.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Autenticación de otorgamiento de autorización de OAuth 2.0 de perfil de JWT

Oauth2AuthCodeConfig

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

string

Obligatorio. Es el nombre del parámetro del token de OAuth que se pasará. Debe tener el formato $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Representación JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Campos
issuer

string

Obligatorio. Es el nombre del parámetro de la entidad emisora que se pasará. Debe tener el formato $context.variables.<name_of_variable>.

subject

string

Obligatorio. Es el nombre del parámetro del asunto que se pasará. Debe tener el formato $context.variables.<name_of_variable>.

clientKey

string

Obligatorio. Es el nombre del parámetro del cliente que se pasará. Debe tener el formato $context.variables.<name_of_variable>.

DataStoreTool

Representación JSON
{
  "name": string,
  "description": string,
  "boostSpecs": [
    {
      object (BoostSpecs)
    }
  ],
  "modalityConfigs": [
    {
      object (ModalityConfig)
    }
  ],
  "filterParameterBehavior": enum (FilterParameterBehavior),

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

string

Obligatorio. Es el nombre de la herramienta del almacén de datos.

description

string

Es opcional. Es la descripción de la herramienta.

boostSpecs[]

object (BoostSpecs)

Es opcional. Especificación de mejora para mejorar ciertos documentos.

modalityConfigs[]

object (ModalityConfig)

Es opcional. Son los parámetros de configuración de la modalidad para el almacén de datos.

filterParameterBehavior

enum (FilterParameterBehavior)

Es opcional. Es el comportamiento del parámetro de filtro.

Campo de unión search_source. Define la fuente de búsqueda, ya sea un solo DataStore o un motor. search_source puede ser solo uno de los parámetros siguientes:
dataStoreSource

object (DataStoreSource)

Es opcional. Busca en un solo DataStore específico.

engineSource

object (EngineSource)

Es opcional. Busca dentro de un motor (potencialmente en varios almacenes de datos).

DataStoreSource

Representación JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Campos
filter

string

Es opcional. Especificación del filtro para el DataStore. Consulta: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Es opcional. El almacén de datos.

DataStore

Representación JSON
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
Campos
name

string

Obligatorio. Es el nombre completo del recurso del DataStore. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

Solo salida. Es el tipo de almacén de datos. Este campo es de solo lectura y lo completa el servidor.

documentProcessingMode

enum (DocumentProcessingMode)

Solo salida. Es el modo de procesamiento de documentos para la conexión del almacén de datos. Solo se establece para los almacenes de datos PUBLIC_WEB y UNSTRUCTURED.

displayName

string

Solo salida. Es el nombre visible del almacén de datos.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de cuando se creó el almacén de datos.

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

connectorConfig

object (ConnectorConfig)

Solo salida. Es la configuración del conector para la conexión del almacén de datos.

ConnectorConfig

Representación JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Campos
collection

string

Es el nombre del recurso de la colección a la que pertenece el almacén de datos.

collectionDisplayName

string

Es el nombre visible de la colección a la que pertenece el almacén de datos.

dataSource

string

Es el nombre de la fuente de datos. Por ejemplo: salesforce, jira, confluence, bigquery.

EngineSource

Representación JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
Campos
engine

string

Obligatorio. Es el nombre completo del recurso del motor. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

Es opcional. Se usa para segmentar almacenes de datos específicos dentro del motor. Si está vacío, la búsqueda se aplica a todos los almacenes de datos asociados con el motor.

filter

string

Es opcional. Es un filtro que se aplica a la búsqueda en todo el motor. No es relevante y no se usa si se proporciona "data_store_sources". Consulta: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

Representación JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
Campos
dataStores[]

string

Obligatorio. Es el almacén de datos en el que se aplica la configuración de aumento. Es el nombre completo del recurso del almacén de datos, como projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (BoostSpec)

Obligatorio. Es una lista de especificaciones de boosting.

BoostSpec

Representación JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Campos
conditionBoostSpecs[]

object (ConditionBoostSpec)

Obligatorio. Es una lista de especificaciones de boosting.

ConditionBoostSpec

Representación JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Campos
condition

string

Obligatorio. Es una expresión que especifica una condición de aumento. La sintaxis es la misma que la de la expresión de filtro. Actualmente, la única condición admitida es una lista de códigos de idioma BCP-47. Ejemplo: Para impulsar las sugerencias en los idiomas en o fr: (lang_code: ANY("en", "fr"))

boost

number

Es opcional. Es la intensidad del boosting, que debe estar en [-1, 1]. El boosting negativo significa un descenso de nivel. El valor predeterminado es 0.0.

Si se establece en 1.0, las sugerencias se promocionan de forma significativa. Sin embargo, esto no significa necesariamente que el primer resultado será una sugerencia con boosting.

Si se establece en -1.0, las sugerencias se descenderán de nivel de forma significativa. Sin embargo, es posible que se sigan mostrando otras sugerencias pertinentes.

Si se establece en 0.0, no se aplica ningún aumento. Se ignora la condición de mejora.

boostControlSpec

object (BoostControlSpec)

Es opcional. Especificación compleja para la clasificación personalizada basada en el valor del atributo definido por el cliente.

BoostControlSpec

Representación JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campos
fieldName

string

Es opcional. Es el nombre del campo cuyo valor se usará para determinar el importe de la mejora.

attributeType

enum (AttributeType)

Es opcional. Es el tipo de atributo que se usará para determinar el importe de la mejora. El valor del atributo se puede derivar del valor del campo field_name especificado. En el caso de los valores numéricos, es sencillo, es decir, attribute_value = numerical_field_value. Sin embargo, en el caso de la actualización, attribute_value = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Es opcional. Es el tipo de interpolación que se aplicará para conectar los puntos de control que se indican a continuación.

controlPoints[]

object (ControlPoint)

Es opcional. Son los puntos de control que se usan para definir la curva. La función monótona (definida a través del interpolation_type anterior) pasa por los puntos de control que se indican aquí.

ControlPoint

Representación JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

Es opcional. Puede ser una de las siguientes opciones: 1. Es el valor numérico del campo. 2. La especificación de duración para la actualización: El valor debe tener el formato de un valor XSD dayTimeDuration (un subconjunto restringido de un valor de duración ISO 8601). El patrón para esto es el siguiente: [nD][T[nH][nM][nS]].

boostAmount

number

Es opcional. Es el valor entre -1 y 1 por el que se aumentará la puntuación si el atributo attribute_value se evalúa con el valor especificado anteriormente.

ModalityConfig

Representación JSON
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "snippetsConfig": {
    object (SnippetsConfig)
  }
}
Campos
modalityType

enum (ModalityType)

Obligatorio. Es el tipo de modalidad.

rewriterConfig

object (RewriterConfig)

Es opcional. Es la configuración del reescritor.

summarizationConfig

object (SummarizationConfig)

Es opcional. Es la configuración de resumen.

groundingConfig

object (GroundingConfig)

Es opcional. Es la configuración de la fundamentación.

snippetsConfig

object (SnippetsConfig)

Es opcional. Es la configuración de los fragmentos.

RewriterConfig

Representación JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Obligatorio. Son los parámetros de configuración del modelo de LLM.

prompt

string

Es opcional. La definición de la instrucción. Si no se establece, se usará la instrucción predeterminada.

disabled

boolean

Es opcional. Indica si el reescritor está inhabilitado.

SummarizationConfig

Representación JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Es opcional. Son los parámetros de configuración del modelo de LLM.

prompt

string

Es opcional. La definición de la instrucción. Si no se establece, se usará la instrucción predeterminada.

disabled

boolean

Es opcional. Indica si el resumen está inhabilitado.

GroundingConfig

Representación JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Campos
groundingLevel

number

Es opcional. Es el umbral de fundamentación de la respuesta según las fuentes recuperadas. El valor tiene un rango configurable de [1, 5]. El nivel se usa para establecer un umbral de fundamentación de la respuesta, lo que significa que todas las respuestas con una puntuación de fundamentación inferior al umbral volverán a mostrar solo fragmentos relevantes.

Por ejemplo, un nivel de 3 significa que la puntuación de fundamentación debe ser de 3 o más para que se devuelva la respuesta.

disabled

boolean

Es opcional. Indica si la fundamentación está inhabilitada.

SnippetsConfig

Representación JSON
{
  "enableSnippets": boolean,
  "maxSnippets": integer
}
Campos
enableSnippets

boolean

Es opcional. Indica si los fragmentos están habilitados.

maxSnippets

integer

Es opcional. Es la cantidad de fragmentos que se devolverán por consulta. Si no se establece, devuelve todos los fragmentos del servicio de forma predeterminada.

PythonFunction

Representación JSON
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Campos
name

string

Es opcional. Es el nombre de la función de Python que se ejecutará. Debe coincidir con el nombre de una función de Python definida en el código de Python. Distingue mayúsculas de minúsculas. Si no se proporciona el nombre, se usará la primera función definida en el código de Python.

pythonCode

string

Es opcional. Es el código de Python que se ejecutará para la herramienta.

description

string

Solo salida. Es la descripción de la función de Python, analizada a partir de la cadena de documentación del código de Python.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Es la configuración del Directorio de servicios para la herramienta.

McpTool

Representación JSON
{
  "name": string,
  "nameOverride": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "state": enum (State)
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta de MCP.

nameOverride

string

Es opcional. Es la anulación del nombre de la herramienta de MCP. Este campo se completa si el nombre se anuló con una anulación de Toolset.

description

string

Es opcional. La descripción de la herramienta de MCP.

inputSchema

object (Schema)

Es opcional. Es el esquema de los argumentos de entrada de la herramienta de MCP.

outputSchema

object (Schema)

Es opcional. Es el esquema de los argumentos de salida de la herramienta de MCP.

serverAddress

string

Obligatorio. La dirección del servidor de MCP, p.ej., "https://example.com/mcp/". Si el servidor se compila con el SDK de MCP, la URL debe tener el sufijo "/mcp/". Solo se admiten servidores basados en el transporte de HTTP transmitible. Es igual a server_address en McpToolset. Consulta https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http para obtener más detalles.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la información de autenticación necesaria para ejecutar la herramienta en el servidor de MCP. En el caso de la autenticación con token del portador, el token solo se aplica a la ejecución de herramientas, no a la lista de herramientas. Esto requiere que las herramientas se puedan enumerar sin autenticación.

tlsConfig

object (TlsConfig)

Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que el cliente debe confiar.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Configuración del Directorio de servicios para VPC-SC, que se usa para resolver nombres de servicios dentro de un perímetro.

customHeaders

map (key: string, value: string)

Es opcional. Son los encabezados personalizados que se enviarán en la solicitud al servidor de MCP. Los valores deben tener el formato $context.variables.<name_of_variable> y se pueden establecer en las variables de sesión. Consulta https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection para obtener más detalles.

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

state

enum (State)

Solo salida. Es el estado de disponibilidad dinámica de la herramienta en el servidor externo.

CustomHeadersEntry

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

string

value

string

FileSearchTool

Representación JSON
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Campos
corpusType

enum (CorpusType)

Es opcional. Es el tipo de corpus. El valor predeterminado es FULLY_MANAGED.

name

string

Obligatorio. Es el nombre de la herramienta.

description

string

Es opcional. Es la descripción de la herramienta.

fileCorpus

string

Es opcional. Es el corpus en el que se almacenan los archivos. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

Representación JSON
{
  "name": string,
  "description": string
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta del sistema.

description

string

Solo salida. Es la descripción de la herramienta del sistema.

AgentTool

Representación JSON
{
  "name": string,
  "description": string,
  "agent": string
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta del agente.

description

string

Es opcional. Descripción del propósito de la herramienta.

agent

string

Es opcional. Es el nombre del recurso del agente que es el punto de entrada de la herramienta. Formato: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Representación JSON
{
  "name": string,
  "description": string,
  "widgetType": enum (WidgetType),
  "uiConfig": {
    object
  },
  "dataMapping": {
    object (DataMapping)
  },
  "textResponseConfig": {
    object (TextResponseConfig)
  },

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

string

Obligatorio. Es el nombre visible de la herramienta de widget.

description

string

Es opcional. Es la descripción de la herramienta de widget.

widgetType

enum (WidgetType)

Es opcional. Es el tipo de herramienta de widget. Si no se especifica, el tipo predeterminado será CUSTOMIZED.

uiConfig

object (Struct format)

Es opcional. Es la configuración para renderizar el widget.

dataMapping

object (DataMapping)

Es opcional. La asignación que define cómo se asignan los datos de una herramienta de origen a los parámetros de entrada del widget.

textResponseConfig

object (TextResponseConfig)

Es opcional. Es la configuración de las respuestas de texto que siempre se incluyen.

Campo de unión input. La entrada de la herramienta de widget. input puede ser solo uno de los parámetros siguientes:
parameters

object (Schema)

Es opcional. Son los parámetros de entrada de la herramienta de widget.

DataMapping

Representación JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (Mode),
  "pythonScript": string
}
Campos
sourceToolName

string

Es opcional. Es el nombre del recurso de la herramienta que proporciona los datos para el widget (p.ej., una herramienta de búsqueda o una función personalizada). Formato: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Es opcional. Es un mapa de los campos de parámetros de entrada del widget a los campos de salida correspondientes de la herramienta de origen.

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

pythonFunction

object (PythonFunction)

Es opcional. Es la configuración de una función de Python que se usa para transformar el resultado de la herramienta de origen en el formato de entrada del widget.

mode

enum (Mode)

Es opcional. Es el modo de la asignación de datos.

pythonScript
(deprecated)

string

Obsoleto: Usa python_function en su lugar.

FieldMappingsEntry

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

string

value

string

TextResponseConfig

Representación JSON
{
  "type": enum (Type),
  "staticText": string,
  "textResponseInstruction": string
}
Campos
type

enum (Type)

Es opcional. Es la estrategia para proporcionar la respuesta de texto.

staticText

string

Es opcional. Es la respuesta de texto estática que se devuelve cuando el tipo es STATIC.

textResponseInstruction

string

Es opcional. Es la instrucción para el LLM sobre cómo generar la respuesta de texto. Se usa como la descripción del parámetro de respuesta de texto si el tipo es LLM_GENERATED.

RemoteAgentTool

Representación JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  },
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "statefulAgent": boolean,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  }
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta.

description

string

Obligatorio. Es la descripción de la herramienta.

agentCard

object (AgentCard)

Obligatorio. La tarjeta del agente remoto que invoca esta herramienta.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la configuración de autenticación para llamar al agente remoto.

statefulAgent

boolean

Es opcional. Cuando se habilita, la interacción entre la app de CXAS y el agente remoto compartirá el mismo contexto. Si el agente remoto devuelve un context_id, este se conservará durante toda la sesión de esta herramienta de agente remoto.

inputVariableMapping

map (key: string, value: string)

Es opcional. Asignación de nombres de variables de entrada del agente remoto a nombres de 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. Asignación de nombres de variables de salida del agente remoto a nombres de variables de GECX.

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

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

ToolFakeConfig

Representación JSON
{
  "enableFakeMode": boolean,

  // Union field tool_response can be only one of the following:
  "codeBlock": {
    object (CodeBlock)
  }
  // End of list of possible types for union field tool_response.
}
Campos
enableFakeMode

boolean

Es opcional. Indica si la herramienta usa el modo falso.

Campo de unión tool_response. La respuesta es estática o la proporciona una función de Python. tool_response puede ser solo uno de los parámetros siguientes:
codeBlock

object (CodeBlock)

Es opcional. Bloque de código que se ejecutará en lugar de una llamada a la herramienta real.

CodeBlock

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

string

Obligatorio. Código de Python que se invocará en el modo de simulación de la herramienta. Firma de función de Python esperada - Para detectar todas las llamadas a la herramienta: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Para detectar una llamada a la herramienta específica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Si la función devuelve None, se invocará la herramienta real.

Ejemplo

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "entryAgent": string,
  "messages": [
    {
      object (Message)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "invalid": boolean,
  "etag": string
}
Campos
name

string

Es el identificador. Es el identificador único del ejemplo. Formato: projects/{project}/locations/{location}/apps/{app}/examples/{example}

displayName

string

Obligatorio. Es el nombre visible del ejemplo.

description

string

Es opcional. Descripción legible por humanos del ejemplo.

entryAgent

string

Es opcional. Es el agente que maneja la conversación inicialmente. Si no se especifica, el ejemplo representa una conversación que controla el agente raíz. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

messages[]

object (Message)

Es opcional. Es la colección de mensajes que conforman la conversación.

createTime

string (Timestamp format)

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

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. Marca de tiempo de la última actualización del ejemplo.

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

invalid

boolean

Solo salida. El ejemplo puede dejar de ser válido si se borran los recursos de referencia. Los ejemplos no válidos no se usarán como ejemplos de aprendizaje con pocos ejemplos.

etag

string

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

Mensaje

Representación JSON
{
  "role": string,
  "chunks": [
    {
      object (Chunk)
    }
  ],
  "eventTime": string
}
Campos
role

string

Es opcional. Es el rol dentro de la conversación, p.ej., usuario, agente.

chunks[]

object (Chunk)

Es opcional. Es el contenido del mensaje como una serie de fragmentos.

eventTime

string (Timestamp format)

Es opcional. Es la marca de tiempo del momento en que se envió o recibió el mensaje. No se debe usar si el mensaje forma parte de un example.

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

Bandinsecto

Representación JSON
{

  // Union field data can be only one of the following:
  "text": string,
  "transcript": string,
  "blob": {
    object (Blob)
  },
  "payload": {
    object
  },
  "image": {
    object (Image)
  },
  "toolCall": {
    object (ToolCall)
  },
  "toolResponse": {
    object (ToolResponse)
  },
  "agentTransfer": {
    object (AgentTransfer)
  },
  "updatedVariables": {
    object
  },
  "defaultVariables": {
    object
  }
  // End of list of possible types for union field data.
}
Campos
Campo de unión data. Datos de fragmentos data puede ser solo uno de los parámetros siguientes:
text

string

Es opcional. Datos de texto.

transcript

string

Es opcional. Es la transcripción asociada al audio.

blob

object (Blob)

Es opcional. Datos de BLOB.

payload

object (Struct format)

Es opcional. Datos de carga útil personalizados.

image

object (Image)

Es opcional. Son los datos de la imagen.

toolCall

object (ToolCall)

Es opcional. Es la solicitud de ejecución de la herramienta.

toolResponse

object (ToolResponse)

Es opcional. Es la respuesta de la ejecución de la herramienta.

agentTransfer

object (AgentTransfer)

Es opcional. Evento de transferencia de agente.

updatedVariables

object (Struct format)

Un struct representa las variables que se actualizaron en la conversación, con clave por nombres de variables.

defaultVariables

object (Struct format)

Un struct representa las variables predeterminadas al inicio de la conversación, con clave por nombres de variables.

BLOB

Representación JSON
{
  "mimeType": string,
  "data": string
}
Campos
mimeType

string

Obligatorio. Es el tipo de MIME estándar de IANA de los datos de origen.

data

string (bytes format)

Obligatorio. Son los bytes sin procesar del BLOB.

Es una cadena codificada en Base64.

Imagen

Representación JSON
{
  "mimeType": string,
  "data": string,
  "altText": string
}
Campos
mimeType

string

Obligatorio. Es el tipo de MIME estándar de IANA de los datos de origen. Los tipos de imágenes compatibles incluyen los siguientes: * image/png * image/jpeg * image/webp

data

string (bytes format)

Obligatorio. Son los bytes sin procesar de la imagen.

Es una cadena codificada en Base64.

altText

string

Es opcional. Es el texto alternativo de la imagen.

ToolCall

Representación JSON
{
  "id": string,
  "displayName": string,
  "args": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,
  "targetApp": string,

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
Campos
id

string

Es opcional. Es el identificador único de la llamada a la herramienta. Si se completa, el cliente debe devolver el resultado de la ejecución con el ID para coincidencias en ToolResponse.

displayName

string

Solo salida. Es el nombre visible de la herramienta.

args

object (Struct format)

Es opcional. Son los parámetros y valores de entrada de la herramienta en formato de objeto JSON.

parentToolCallId

string

Solo salida. Es el ID de la llamada a la herramienta que causó esta, cuando la emitió un agente secundario que trabaja en nombre de una llamada superior. Está vacío para las llamadas de nivel superior. Permite que un cliente agrupe el trabajo de un agente secundario en la llamada que lo inició, en lugar de renderizar cada paso como un elemento hermano.

agentName

string

Solo salida. Nombre legible por humanos del agente que emitió esta llamada, p.ej., "Arquitecto de contratos". Está vacío cuando lo emite el agente raíz.

targetApp

string

Solo salida. La app a la que se dirige esta llamada, derivada por el asistente a partir de los argumentos de recursos de la llamada: un nombre de recurso de app, PROJECT para las herramientas con alcance de ubicación o vacío para las herramientas locales de la sesión. Se establece solo en las sesiones de asistente con alcance de proyecto.

Campo de unión tool_identifier. Es el identificador de la herramienta que se ejecutará. Puede ser una herramienta persistente o una herramienta de un conjunto de herramientas. tool_identifier puede ser solo uno de los parámetros siguientes:
tool

string

Es opcional. Es el nombre de la herramienta que se ejecutará. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Es opcional. Es la herramienta del conjunto de herramientas que se ejecutará.

ToolsetTool

Representación JSON
{
  "toolset": string,
  "toolId": string
}
Campos
toolset

string

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

toolId

string

Es opcional. Es el ID de la herramienta para filtrar las herramientas de las que se recuperará el esquema.

ToolResponse

Representación JSON
{
  "id": string,
  "displayName": string,
  "response": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,
  "targetApp": string,

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
Campos
id

string

Es opcional. Es el ID para coincidencias del tool call al que corresponde la respuesta.

displayName

string

Solo salida. Es el nombre visible de la herramienta.

response

object (Struct format)

Obligatorio. Es el resultado de la ejecución de la herramienta en formato de objeto JSON. Usa la clave "output" para especificar la respuesta de la herramienta y la clave "error" para especificar los detalles del error (si los hay). Si no se especifican las claves "output" y "error", toda la "response" se trata como el resultado de la ejecución de la herramienta.

parentToolCallId

string

Solo salida. Es el ID de la llamada a la herramienta que causó esta, cuando la emitió un agente secundario que trabaja en nombre de una llamada superior. Está vacío para las llamadas de nivel superior. Permite que un cliente agrupe el trabajo de un agente secundario en la llamada que lo inició, en lugar de renderizar cada paso como un elemento hermano.

agentName

string

Solo salida. Nombre legible por humanos del agente que emitió esta llamada, p.ej., "Arquitecto de contratos". Está vacío cuando lo emite el agente raíz.

targetApp

string

Solo salida. Es la app a la que se orientó la herramienta ejecutada; refleja ToolCall.target_app.

Campo de unión tool_identifier. Es el identificador de la herramienta que se ejecutó. Puede ser una herramienta persistente o una herramienta de un conjunto de herramientas. tool_identifier puede ser solo uno de los parámetros siguientes:
tool

string

Es opcional. Es el nombre de la herramienta que se ejecutará. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Es opcional. Es la herramienta del conjunto de herramientas que se ejecutó.

AgentTransfer

Representación JSON
{
  "targetAgent": string,
  "displayName": string
}
Campos
targetAgent

string

Obligatorio. Es el agente al que se transfiere la conversación. El agente se encargará de la conversación a partir de este punto. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

Solo salida. Es el nombre visible del agente.

Barrera de protección

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
Campos
name

string

Es el identificador. Es el identificador único de la barandilla de seguridad. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Obligatorio. Es el nombre visible de la barandilla.

description

string

Es opcional. Descripción de la barrera de seguridad.

enabled

boolean

Es opcional. Indica si la barandilla está habilitada.

action

object (TriggerAction)

Es opcional. Es la acción que se debe realizar cuando se activa la barrera de protección.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la creación de la barandilla de seguridad.

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. Marca de tiempo de la última actualización de la barandilla.

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

etag

string

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

Campo de unión guardrail_type. Es el tipo de barrera de seguridad. guardrail_type puede ser solo uno de los parámetros siguientes:
contentFilter

object (ContentFilter)

Es opcional. Es una barrera que prohíbe que se use cierto contenido en la conversación.

llmPromptSecurity

object (LlmPromptSecurity)

Es opcional. Es una protección que bloquea la conversación si la instrucción se considera no segura según la clasificación del LLM.

llmPolicy

object (LlmPolicy)

Es opcional. Es la barrera que bloquea la conversación si se considera que la respuesta del LLM incumple la política según la clasificación del LLM.

modelSafety

object (ModelSafety)

Es opcional. Es una protección que bloquea la conversación si la respuesta del LLM se considera no segura según la configuración de seguridad del modelo.

codeCallback

object (CodeCallback)

Es opcional. Es una barrera de protección que puede bloquear la conversación según el resultado de la ejecución de la devolución de llamada.

supervisor

object (Supervisor)

Es opcional. Es la protección que ejecuta la intervención del supervisor.

ContentFilter

Representación JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean,
  "sensitiveWordsExemptions": [
    string
  ]
}
Campos
bannedContents[]

string

Es opcional. Lista de frases prohibidas. Se aplica tanto a las entradas del usuario como a las respuestas del agente.

bannedContentsInUserInput[]

string

Es opcional. Lista de frases prohibidas. Solo se aplica a las entradas de los usuarios.

bannedContentsInAgentResponse[]

string

Es opcional. Lista de frases prohibidas. Solo se aplica a las respuestas del agente.

matchType

enum (MatchType)

Obligatorio. Es el tipo de concordancia del filtro de contenido.

disregardDiacritics

boolean

Es opcional. Si es verdadero, se ignoran los signos diacríticos durante la coincidencia.

sensitiveWordsExemptions[]

string

Es opcional. Son las entradas de la lista de palabras sensibles que permite esta barandilla de seguridad. Solo es válido cuando match_type es SENSITIVE_WORDS. Cada valor debe ser igual a una entrada de la lista (no distingue mayúsculas de minúsculas, se ignoran los espacios en blanco circundantes); los demás valores no tienen efecto. Se aplica solo a esta barandilla de seguridad. Un máximo de 1,000 entradas de hasta 256 caracteres cada una.

LlmPromptSecurity

Representación JSON
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
Campos
failOpen

boolean

Es opcional. Determina el comportamiento cuando la barrera de seguridad encuentra un error de LLM. - Si es verdadero, se omite la barrera de protección. - Si es falso (predeterminado), la barandilla se activa o bloquea.

Nota: Si se proporciona una política personalizada, este campo se ignora en favor de la configuración "fail_open" de la política.

Campo de unión security_config. Define el modo de configuración de seguridad. El usuario debe elegir una de las siguientes opciones de configuración. security_config puede ser solo uno de los parámetros siguientes:
defaultSettings

object (DefaultSecuritySettings)

Es opcional. Usa la configuración de seguridad predeterminada del sistema. Para seleccionar este modo, incluye un mensaje "default_settings" vacío en la solicitud. El servidor completará el campo "default_prompt_template" en la respuesta.

customPolicy

object (LlmPolicy)

Es opcional. Usa una LlmPolicy definida por el usuario para configurar la barrera de seguridad.

DefaultSecuritySettings

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

string

Solo salida. Es la plantilla de instrucciones predeterminada que usa el sistema. Este campo tiene fines de visualización para mostrarle al usuario qué instrucción usa el sistema de forma predeterminada. Es OUTPUT_ONLY.

LlmPolicy

Representación JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Campos
maxConversationMessages

integer

Es opcional. Cuando verifiques esta política, considera los últimos "n" mensajes de la conversación. Si no se establece, se usará un valor predeterminado de 10.

modelSettings

object (ModelSettings)

Es opcional. Configuración del modelo

prompt

string

Obligatorio. Mensaje de política. Admite marcadores de posición de variables de sesión ({var}), así como {agent_system_instruction} para insertar las instrucciones del sistema resueltas del agente.

policyScope

enum (PolicyScope)

Obligatorio. Define cuándo aplicar la verificación de la política durante la conversación. Si se establece en POLICY_SCOPE_UNSPECIFIED, la política se aplicará a la entrada del usuario. Cuando se aplique la política a la respuesta del agente, se introducirá una latencia adicional antes de que el agente pueda responder.

failOpen

boolean

Es opcional. Si se produce un error durante la verificación de la política, se produce un error de apertura y no se activa la barandilla.

allowShortUtterance

boolean

Es opcional. De forma predeterminada, la verificación de la política de LLM se omite para las expresiones cortas. Si habilitas este parámetro de configuración, se aplicará la verificación de políticas a todas las expresiones, incluidas las que normalmente se omitirían.

ModelSafety

Representación JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Campos
safetySettings[]

object (SafetySetting)

Obligatorio. Lista de parámetros de configuración de seguridad.

SafetySetting

Representación JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Campos
category

enum (HarmCategory)

Obligatorio. La categoría de daño.

threshold

enum (HarmBlockThreshold)

Obligatorio. El umbral de bloqueo de daño.

CodeCallback

Representación JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Campos
beforeAgentCallback

object (Callback)

Es opcional. Es la devolución de llamada que se ejecutará antes de que se llame al agente. Se espera que cada función de devolución de llamada devuelva una estructura (p.ej., un diccionario o un objeto) que contenga, al menos, lo siguiente: - 'decision': 'OK' o 'TRIGGER'. - "reason": Una cadena que explica la decisión. Una decisión de "ACTIVACIÓN" puede detener el procesamiento posterior.

afterAgentCallback

object (Callback)

Es opcional. Es la devolución de llamada que se ejecutará después de que se llame al agente. Se espera que cada función de devolución de llamada devuelva una estructura (p.ej., un diccionario o un objeto) que contenga, al menos, lo siguiente: - 'decision': 'OK' o 'TRIGGER'. - "reason": Una cadena que explica la decisión. Una decisión de "ACTIVACIÓN" puede detener el procesamiento posterior.

beforeModelCallback

object (Callback)

Es opcional. Es la devolución de llamada que se ejecutará antes de que se llame al modelo. Si hay varias llamadas al modelo, la devolución de llamada se ejecutará varias veces. Se espera que cada función de devolución de llamada devuelva una estructura (p.ej., un diccionario o un objeto) que contenga, al menos, lo siguiente: - 'decision': 'OK' o 'TRIGGER'. - "reason": Una cadena que explica la decisión. Una decisión de "ACTIVACIÓN" puede detener el procesamiento posterior.

afterModelCallback

object (Callback)

Es opcional. Es la devolución de llamada que se ejecutará después de que se llame al modelo. Si hay varias llamadas al modelo, la devolución de llamada se ejecutará varias veces. Se espera que cada función de devolución de llamada devuelva una estructura (p.ej., un diccionario o un objeto) que contenga, al menos, lo siguiente: - 'decision': 'OK' o 'TRIGGER'. - "reason": Una cadena que explica la decisión. Una decisión de "ACTIVACIÓN" puede detener el procesamiento posterior.

Supervisor

Representación JSON
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
Campos
type

enum (Type)

Es opcional. Es el tipo de supervisor.

detectionMode

enum (DetectionMode)

Es opcional. Es el modo de detección del supervisor.

TriggerAction

Representación JSON
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
Campos
Campo de unión action. La acción por realizar. action puede ser solo uno de los parámetros siguientes:
respondImmediately

object (RespondImmediately)

Es opcional. Responde de inmediato con una respuesta preconfigurada.

transferAgent

object (TransferAgent)

Es opcional. Transferir la conversación a otro agente

generativeAnswer

object (GenerativeAnswer)

Es opcional. Responder con una respuesta generativa

RespondImmediately

Representación JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Campos
responses[]

object (Response)

Obligatorio. Son las respuestas estándares entre las que puede elegir el agente. La respuesta se elige de forma aleatoria.

Respuesta

Representación JSON
{
  "text": string,
  "disabled": boolean
}
Campos
text

string

Obligatorio. Es el texto con el que debe responder el agente.

disabled

boolean

Es opcional. Indica si la respuesta está inhabilitada. El agente no usa las respuestas inhabilitadas.

TransferAgent

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

string

Obligatorio. Es el nombre del agente al que se transferirá la conversación. El agente debe estar en la misma app que el agente actual. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

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

string

Obligatorio. Es la instrucción que se usará para la respuesta generativa.

Conjunto de herramientas

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionType": enum (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
Campos
name

string

Es el identificador. Es el identificador único del conjunto de herramientas. Formato: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

Es opcional. Es el nombre visible del conjunto de herramientas. Debe ser único dentro de la misma app.

description

string

Es opcional. Es la descripción del conjunto de herramientas.

timeout

string (Duration format)

Es opcional. Es el tiempo de espera para la ejecución del conjunto de herramientas. Si no se establece, el tiempo de espera predeterminado es de 30 segundos para los conjuntos de herramientas de SYNCHRONOUS y de 60 segundos para los de ASYNCHRONOUS.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

createTime

string (Timestamp format)

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

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. Marca de tiempo de la última actualización del conjunto de herramientas.

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

etag

string

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

executionType

enum (ExecutionType)

Es opcional. Es el tipo de ejecución de las herramientas del conjunto de herramientas.

toolFakeConfig

object (ToolFakeConfig)

Es opcional. Configuración del comportamiento de las herramientas en el modo falso.

Campo de unión toolset_type. Es el tipo de conjunto de herramientas. toolset_type puede ser solo uno de los parámetros siguientes:
mcpToolset

object (McpToolset)

Es opcional. Es un conjunto de herramientas que contiene una lista de herramientas que ofrece el servidor de MCP.

openApiToolset

object (OpenApiToolset)

Es opcional. Un conjunto de herramientas que contiene una lista de herramientas definidas por un esquema de OpenAPI.

connectorToolset

object (ConnectorToolset)

Es opcional. Es un conjunto de herramientas que genera herramientas a partir de una conexión de Integration Connectors.

McpToolset

Representación JSON
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
Campos
serverAddress

string

Obligatorio. La dirección del servidor de MCP, por ejemplo, "https://example.com/mcp/". Si el servidor se compila con el SDK de MCP, la URL debe tener el sufijo "/mcp/". Solo se admiten servidores basados en el transporte de HTTP transmitible. Consulta https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http para obtener más detalles.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la información de autenticación necesaria para acceder a las herramientas y ejecutarlas en el servidor de MCP. En el caso de la autenticación con token del portador, el token solo se aplica a la ejecución de herramientas, no a la lista de herramientas. Esto requiere que las herramientas se puedan enumerar sin autenticación.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Configuración del Directorio de servicios para VPC-SC, que se usa para resolver nombres de servicios dentro de un perímetro.

tlsConfig

object (TlsConfig)

Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que el cliente debe confiar.

customHeaders

map (key: string, value: string)

Es opcional. Son los encabezados personalizados que se enviarán en la solicitud al servidor de MCP. Los valores deben tener el formato $context.variables.<name_of_variable> y se pueden establecer en las variables de sesión. Consulta https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection para obtener más detalles.

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

toolOverrides[]

object (McpToolOverride)

Es opcional. Anulaciones para herramientas individuales dentro de este conjunto de herramientas. Esto permite anular detalles específicos, como descripciones o nombres, o fijar los estados de las herramientas para que no sean completamente dinámicos.

CustomHeadersEntry

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

string

value

string

McpToolOverride

Representación JSON
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
Campos
tool

string

Obligatorio. Es el nombre original de la herramienta tal como lo emite el servidor de MCP.

nameOverride

string

Es opcional. Si está presente, la herramienta usa este nombre en el agente en lugar del nombre original. Esto se usa principalmente como un alias si el servidor de MCP ofrece herramientas con nombres poco claros.

descriptionOverride

string

Es opcional. Si está presente, la herramienta usa esta descripción en lugar de la original del servidor.

snapshot

object (McpToolDefinition)

Solo salida. Si está presente, esta herramienta se "fija" y usa los valores de la instantánea como resguardos si el servidor deja de estar disponible temporalmente o si no hay ninguna anulación presente.

McpToolDefinition

Representación JSON
{
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  }
}
Campos
description

string

Solo salida. La descripción de la herramienta de MCP. Esto se puede anular con description_override en McpToolOverride.

inputSchema

object (Schema)

Solo salida. Es el esquema de los argumentos de entrada de la herramienta de MCP.

outputSchema

object (Schema)

Solo salida. Es el esquema de los argumentos de salida de la herramienta de MCP.

OpenApiToolset

Representación JSON
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Campos
openApiSchema

string

Obligatorio. Es el esquema de OpenAPI del conjunto de herramientas.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la información de autenticación que requiere la API.

tlsConfig

object (TlsConfig)

Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Configuración del Directorio de servicios.

ignoreUnknownFields

boolean

Es opcional. Si es verdadero, el agente ignorará los campos desconocidos en la respuesta de la API para todas las operaciones definidas en el esquema de OpenAPI.

url

string

Es opcional. Es la URL del servidor del esquema de OpenAPI. Este campo solo se establece en los conjuntos de herramientas de las dependencias del entorno durante el proceso de exportación si el esquema contiene una URL de servidor. Durante el proceso de importación, si esta URL está presente en las dependencias del entorno y el esquema tiene el marcador de posición $env_var, se reemplazará el marcador de posición en el esquema.

ConnectorToolset

Representación JSON
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
Campos
connection

string

Obligatorio. Es el nombre completo del recurso de la conexión de Integration Connectors a la que se hace referencia. Formato: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

Es opcional. Configura cómo se controla la autenticación en Integration Connectors. De forma predeterminada, se pasa una autenticación de administrador en las solicitudes a la API de Integration Connectors. Puedes anularla con una configuración de autenticación de usuario final diferente. Nota: La conexión debe tener habilitada la anulación de la autenticación para especificar una configuración de EUC aquí; de lo contrario, fallará la creación del conjunto de herramientas. Consulta: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override

connectorActions[]

object (Action)

Obligatorio. Es la lista de acciones del conector o de operaciones de entidad para las que se generarán herramientas.

PrebuiltAmbientNoise

Ruido ambiental precompilado.

Enums
PREBUILT_AMBIENT_NOISE_UNSPECIFIED No especificado.
RETAIL_STORE Ruido ambiental de una tienda minorista.
CONVENTION_HALL Ruido ambiental de una sala de convenciones.
OUTDOOR Ruido ambiental de una calle.

WarningType

Es el tipo de advertencia que se encontró durante el procesamiento de la muestra de voz.

Enums
WARNING_TYPE_UNSPECIFIED Indica que no se especificó el tipo de advertencia.
LOW_AUDIO_LEVEL El nivel de audio de la muestra de voz es demasiado bajo (p.ej., amplitud RMS baja).

VoiceInstructionMode

Es el modo de instrucción para la muestra de voz.

Enums
VOICE_INSTRUCTION_MODE_UNSPECIFIED Indica que no se especificó el modo de instrucción. La configuración predeterminada es NO_INSTRUCTION.
NO_INSTRUCTION No se usarán instrucciones por voz.
GENERATE_INSTRUCTION La IA generará automáticamente la instrucción de voz a partir de la muestra de audio.
CUSTOM_INSTRUCTION Instrucción de voz personalizada que proporciona el usuario.

ErrorHandlingStrategy

Define la estrategia para controlar errores.

Enums
ERROR_HANDLING_STRATEGY_UNSPECIFIED Estrategia de manejo de errores no especificada.
NONE No se habilita ningún control específico.
FALLBACK_RESPONSE Se devolverá un mensaje de resguardo al usuario en caso de que se produzcan errores del sistema (p.ej., errores del LLM).
END_SESSION Se emitirá un indicador EndSession en caso de errores del sistema (p.ej., errores del LLM).

ThinkingLevel

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

Enums
THINKING_LEVEL_UNSPECIFIED No se especificó el nivel de pensamiento.
DEFAULT Nivel de razonamiento predeterminado.
LOW Nivel de razonamiento bajo.
MEDIUM Nivel de razonamiento medio.
HIGH Nivel de razonamiento alto.

ToolExecutionMode

Define el comportamiento de ejecución de las herramientas si el agente selecciona varias herramientas al mismo tiempo.

Enums
TOOL_EXECUTION_MODE_UNSPECIFIED Modo de ejecución de la herramienta no especificado. El valor predeterminado es PARALLEL.
PARALLEL Si se seleccionan varias herramientas, se ejecutarán en paralelo, con el mismo ToolContext.
SEQUENTIAL Si se seleccionan varias herramientas, se ejecutarán de forma secuencial. La siguiente herramienta solo se ejecutará después de que se complete la anterior y pueda ver el ToolContext actualizado de la herramienta anterior.

SemanticSimilarityChannel

Es el canal de similitud semántica que se usará.

Enums
SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED Métrica sin especificar. La configuración predeterminada es TEXT.
TEXT Usa la similitud semántica de texto.
AUDIO Usa la similitud semántica de audio.

ExtraToolCallBehavior

Define el comportamiento cuando se encuentra una llamada a la herramienta adicional. Una llamada a la herramienta adicional es una llamada a la herramienta que está presente en la ejecución, pero que no coincide con ninguna llamada a la herramienta en la expectativa de referencia.

Enums
EXTRA_TOOL_CALL_BEHAVIOR_UNSPECIFIED Comportamiento no especificado. La configuración predeterminada es FAIL.
FAIL Falla la evaluación si se encuentra una llamada a la herramienta adicional.
ALLOW Permitir la llamada a la herramienta adicional.

HallucinationMetricBehavior

El comportamiento de la métrica de alucinación. Independientemente del comportamiento, la métrica siempre se calculará. La diferencia es que, cuando se inhabilita, la métrica no se usa para calcular la puntuación de evaluación general.

Enums
HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED Comportamiento de la métrica de alucinación no especificado.
DISABLED Inhabilitar la métrica de alucinación.
ENABLED Habilita la métrica de alucinación.

Tipo

Tipos de datos de OpenAPI.

Enums
TYPE_UNSPECIFIED Indica un tipo no especificado.
STRING Tipo de cadena.
INTEGER Tipo de número entero.
NUMBER Tipo de número.
BOOLEAN Tipo booleano.
OBJECT Es el tipo de objeto.
ARRAY Es el tipo de array.

NullValue

Representa un null JSON.

NullValue es un centinela que usa una enumeración con un solo valor para representar el valor nulo de la unión de tipos Value.

Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, por lo que se realizará un recorrido de ida y vuelta a un valor 0.

Enums
NULL_VALUE Valor nulo.

Tipo

Es el tipo de motor. Consulta la documentación disponible en https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/SolutionType y https://cloud.google.com/generative-ai-app-builder/docs/create-datastore-ingest.

Enums
TYPE_UNSPECIFIED Indica que no se especificó el tipo de motor.
ENGINE_TYPE_CHAT Es el tipo de motor de chat. Es el motor SOLUTION_TYPE_CHAT de la app. Todos los almacenes de datos del conector que se agreguen a la app se agregarán a este motor.

ChannelType

Es el tipo de perfil del canal.

Enums
UNKNOWN Tipo de canal desconocido.
WEB_UI Canal de IU web.
API Canal de la API
TWILIO Canal de Twilio.
GOOGLE_TELEPHONY_PLATFORM Canal de la plataforma de telefonía de Google.
CONTACT_CENTER_AS_A_SERVICE Canal de centro de contacto como servicio (CCaaS).
CONTACT_CENTER_AS_A_SERVICE_CHAT Canal de centro de contacto como servicio (chat de CCaaS).
FIVE9 Canal de Five9.
CONTACT_CENTER_INTEGRATION Canal de integración de centros de contacto de terceros.
WHATSAPP Canal de WhatsApp
INSTAGRAM Canal de Instagram

Personificación

La personalidad del canal

Enums
UNKNOWN Persona DESCONOCIDA.
CONCISE El agente mantiene las respuestas concisas y directas.
CHATTY El agente proporciona contexto, explicaciones y detalles adicionales.

Modalidad

Es la modalidad del widget web.

Enums
MODALITY_UNSPECIFIED Modalidad desconocida.
CHAT_AND_VOICE El widget admite la entrada de chat y voz.
VOICE_ONLY El widget solo admite la entrada de voz.
CHAT_ONLY El widget solo admite la entrada de chat.
CHAT_VOICE_AND_VIDEO El widget admite entradas de chat, voz y video.

Tema

Es el tema del widget web.

Enums
THEME_UNSPECIFIED Tema desconocido.
LIGHT Tema claro.
DARK Tema oscuro

RequestLocation

La 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. La configuración predeterminada es CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Representa el flujo de credenciales de cliente.

Dirección

La dirección de la transferencia.

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

OperationType

Es la operación que se realizará en la entidad.

Enums
OPERATION_TYPE_UNSPECIFIED No se especificó el tipo de operación. No es válido, por lo que fallará la creación o actualización de ConnectorTool.
LIST Operación de lista.
GET Obtener operación.
CREATE Crea una operación.
UPDATE Operación de actualización.
DELETE Borra la operación.

DataStoreType

Es el tipo de almacén de datos.

Enums
DATA_STORE_TYPE_UNSPECIFIED No especificado. Este valor indica que no se especificó el tipo de almacén de datos, por lo que no se usará durante la búsqueda.
PUBLIC_WEB Un almacén de datos que contiene contenido web público.
UNSTRUCTURED Un almacén de datos que contiene datos privados no estructurados.
FAQ Es un almacén de datos que contiene datos estructurados que se usan como preguntas frecuentes.
CONNECTOR Un almacén de datos que es un conector a un servicio propio o de terceros.

DocumentProcessingMode

Es el modo de procesamiento de documentos del almacén de datos.

Enums
DOCUMENT_PROCESSING_MODE_UNSPECIFIED No especificado.
DOCUMENTS Los documentos se procesan como documentos.
CHUNKS Los documentos se convierten en fragmentos.

AttributeType

Es el atributo (o la función) al que se aplicará la clasificación personalizada.

Enums
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType sin especificar.
NUMERICAL El valor del campo numérico se usará para actualizar de forma dinámica el importe de la mejora. En este caso, el valor del atributo (el valor x) del punto de control será el valor real del campo numérico para el que se especifica boost_amount.
FRESHNESS Para el caso de uso de actualidad, el valor del atributo será la duración entre la hora actual y la fecha en el campo de fecha y hora especificado. El valor debe tener el formato de un valor XSD dayTimeDuration (un subconjunto restringido de un valor de duración ISO 8601). El patrón para esto es el siguiente: [nD][T[nH][nM][nS]]. P.ej., 5D, 3DT12H30M, T24H.

InterpolationType

Es el tipo de interpolación que se aplicará. El valor predeterminado será lineal (lineal por partes).

Enums
INTERPOLATION_TYPE_UNSPECIFIED No se especificó el tipo de interpolación. En este caso, se establece de forma predeterminada en Lineal.
LINEAR Se aplicará la interpolación lineal por partes.

ModalityType

Es el tipo de modalidad.

Enums
MODALITY_TYPE_UNSPECIFIED Tipo de modalidad sin especificar.
TEXT Modalidad de texto.
AUDIO Modalidad de audio.

FilterParameterBehavior

Comportamiento del parámetro de filtro.

Enums
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Comportamiento predeterminado del filtro. Incluye el parámetro de filtro para los almacenes de datos del conector. Para el resto de los tipos de almacenes de datos, se omite el parámetro de entrada del filtro.
ALWAYS_INCLUDE Incluye siempre el parámetro de filtro para todos los tipos de almacenes de datos.
NEVER_INCLUDE El parámetro de filtro nunca se incluye en la lista de parámetros de la herramienta, independientemente del tipo de almacén de datos.

Estado

Representa el estado de disponibilidad dinámica de la herramienta.

Enums
STATE_UNSPECIFIED Es el estado predeterminado.
ACTIVE La herramienta está disponible y el servidor la ofrece de forma activa.
INACTIVE La herramienta está configurada o fijada, pero el servidor no la ofrece actualmente.
STALE La herramienta existe en el servidor, pero no coincide con la versión del servidor.

CorpusType

Es el tipo de corpus de RAG de Vertex.

Enums
CORPUS_TYPE_UNSPECIFIED Tipo de corpus no especificado.
USER_OWNED El usuario crea el corpus y es su propietario.
FULLY_MANAGED El agente crea el corpus.

WidgetType

Todos los tipos de widgets disponibles. Es posible que se agreguen valores nuevos a esta enumeración en el futuro.

Enums
WIDGET_TYPE_UNSPECIFIED Es un tipo de widget sin especificar.
CUSTOM Tipo de widget personalizado.
PRODUCT_DETAILS Widget de detalles del producto.
QUICK_ACTIONS Widget de acciones rápidas.
PRODUCT_COMPARISON Widget de comparación de productos.
ADVANCED_PRODUCT_DETAILS Widget de detalles del producto avanzados.
SHORT_FORM Widget de formato corto.
OVERALL_SATISFACTION Widget de satisfacción general.
ORDER_SUMMARY Widget de resumen del pedido.
APPOINTMENT_DETAILS Widget de detalles de la cita.
APPOINTMENT_SCHEDULER Widget de agenda de citas.
CONTACT_FORM Widget de formulario de contacto

Modo

Es la estrategia que se usa para asignar datos de la herramienta de origen al widget.

Enums
MODE_UNSPECIFIED Modo sin especificar.
FIELD_MAPPING Usa el mapa field_mappings para la transformación de datos.
PYTHON_SCRIPT Usa python_script para la transformación de datos.

Tipo

Define cómo se produce la respuesta de texto.

Enums
TYPE_UNSPECIFIED Indica un tipo no especificado.
NONE El LLM decide de forma dinámica si genera una respuesta de texto junto con el widget según el contexto de la conversación.
LLM_GENERATED Se requiere de forma explícita que el LLM genere una respuesta de texto.
STATIC Siempre se usa una respuesta de texto estática predefinida.

ExecutionType

Es el tipo de ejecución de la herramienta o el conjunto de herramientas.

Enums
EXECUTION_TYPE_UNSPECIFIED No se especificó el tipo de ejecución. Si no se especifica, el número predeterminado es SYNCHRONOUS.
SYNCHRONOUS La herramienta se ejecuta de forma síncrona. La sesión se bloquea hasta que la herramienta devuelve un resultado.
ASYNCHRONOUS La herramienta se ejecuta de forma asíncrona. La sesión continuará mientras se ejecuta la herramienta.

MatchType

Es el tipo de concordancia del filtro de contenido.

Enums
MATCH_TYPE_UNSPECIFIED No se especificó el tipo de concordancia.
SIMPLE_STRING_MATCH El contenido se compara con las subcadenas carácter por carácter.
WORD_BOUNDARY_STRING_MATCH El contenido solo coincide si el patrón que se encuentra en el texto está rodeado de delimitadores de palabras. Las frases prohibidas también pueden contener delimitadores de palabras.
REGEXP_MATCH El contenido se compara con la sintaxis de expresiones regulares.
SENSITIVE_WORDS El contenido se compara con una lista de palabras y frases sensibles administrada por el sistema. Si adjuntas una barandilla con este tipo de coincidencia a una app o un agente, se reemplazará el filtro predeterminado de palabras sensibles para los agentes afectados. Inhabilita la barandilla para inhabilitar el filtro predeterminado.

PolicyScope

Define cuándo aplicar la verificación de la política durante la conversación.

Enums
POLICY_SCOPE_UNSPECIFIED No se especificó el permiso de la política.
USER_QUERY La verificación de políticas se activa con la entrada del usuario.
AGENT_RESPONSE La verificación de políticas se activa en la respuesta del agente. Aplicar este permiso de política generará latencia adicional antes de que el agente pueda responder.
USER_QUERY_AND_AGENT_RESPONSE La verificación de políticas se activa tanto en la entrada del usuario como en la respuesta del agente. Aplicar este permiso de política generará latencia adicional antes de que el agente pueda responder.

HarmCategory

Categoría de daño.

Enums
HARM_CATEGORY_UNSPECIFIED No se especifica la categoría de daño.
HARM_CATEGORY_HATE_SPEECH La categoría de daño es la incitación al odio o a la violencia.
HARM_CATEGORY_DANGEROUS_CONTENT La categoría de daño es el contenido peligroso.
HARM_CATEGORY_HARASSMENT La categoría de daño es el hostigamiento.
HARM_CATEGORY_SEXUALLY_EXPLICIT La categoría de daño es el contenido sexual explícito.
HARM_CATEGORY_PROFANITY La categoría de daño es el lenguaje obsceno.
HARM_CATEGORY_TOXIC La categoría de daño es tóxica.

HarmBlockThreshold

Niveles de umbral basados en la probabilidad para el bloqueo.

Enums
HARM_BLOCK_THRESHOLD_UNSPECIFIED Umbral de bloqueo de daño no especificado.
BLOCK_LOW_AND_ABOVE Bloquea el umbral bajo y superior (es decir, bloquea más).
BLOCK_MEDIUM_AND_ABOVE Bloquea el umbral medio y superior.
BLOCK_ONLY_HIGH Bloquea solo el umbral alto (es decir, bloquea menos).
BLOCK_NONE No bloquear.
OFF Desactiva el filtro de seguridad.

Tipo

Es el tipo de supervisor.

Enums
TYPE_UNSPECIFIED El tipo no está especificado.
INVALID_TEXT Tipo de problema de texto no válido.
LANGUAGE_SHIFT Es el tipo de problema de cambio de idioma.
SPEAKER_SHIFT Es el tipo de problema de cambio de interlocutor.
AUDIO_MISMATCH Tipo de problema de discrepancia de audio.
MISSING_TOOL_CALL Falta el tipo de problema de llamada a la herramienta.
CUSTOM Tipo de problema personalizado.
CHOPPY_AUDIO Tipo de problema de audio entrecortado.
PROFANITY Es el tipo de problema de lenguaje obsceno del agente.

DetectionMode

Es el modo de detección del supervisor.

Enums
DETECTION_MODE_UNSPECIFIED No se especificó el modo de detección. El valor predeterminado es NON_BLOCKING.
NON_BLOCKING Modo de detección sin bloqueo. La respuesta no se bloquea cuando la detección del supervisor está en curso.
BLOCKING Modo de detección de bloqueo. La respuesta se bloquea cuando la detección del supervisor está en curso.

Esquema de salida

En Paquete de interacción con los clientes (CES), una versión de la app es una instantánea de la app en un momento específico. Es inmutable y no se puede modificar una vez que se crea.

AppVersion

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "creator": string,
  "createTime": string,
  "updateTime": string,
  "snapshot": {
    object (AppSnapshot)
  },
  "etag": string
}
Campos
name

string

Es el identificador. Es el identificador único de la versión de la app. Formato: projects/{project}/locations/{location}/apps/{app}/versions/{version}

displayName

string

Es opcional. Es el nombre visible de la versión de la app.

description

string

Es opcional. Es la descripción de la versión de la app.

creator

string

Solo salida. Es el correo electrónico del usuario que creó la versión de la app.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de cuando se creó la versión de la app.

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. Marca de tiempo de la última actualización de la versión de la app.

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

snapshot

object (AppSnapshot)

Solo salida. La instantánea de la app cuando se crea la versión.

etag

string

Solo salida. Es la etiqueta de entidad que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si la etag está vacía, la actualización reemplazará cualquier cambio simultáneo.

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. Deben ser valores de 0 a 999,999,999 inclusive.

AppSnapshot

Representación JSON
{
  "app": {
    object (App)
  },
  "agents": [
    {
      object (Agent)
    }
  ],
  "tools": [
    {
      object (Tool)
    }
  ],
  "examples": [
    {
      object (Example)
    }
  ],
  "guardrails": [
    {
      object (Guardrail)
    }
  ],
  "toolsets": [
    {
      object (Toolset)
    }
  ]
}
Campos
app

object (App)

Es opcional. La configuración básica de la app

agents[]

object (Agent)

Es opcional. Es la lista de agentes de la app.

tools[]

object (Tool)

Es opcional. Lista de herramientas de la app.

examples[]

object (Example)

Es opcional. Es la lista de ejemplos en la app.

guardrails[]

object (Guardrail)

Es opcional. Lista de barreras de seguridad en la app.

toolsets[]

object (Toolset)

Es opcional. Es la lista de conjuntos de herramientas de la app.

App

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "pinned": boolean,
  "rootAgent": string,
  "languageSettings": {
    object (LanguageSettings)
  },
  "timeZoneSettings": {
    object (TimeZoneSettings)
  },
  "audioProcessingConfig": {
    object (AudioProcessingConfig)
  },
  "loggingSettings": {
    object (LoggingSettings)
  },
  "errorHandlingSettings": {
    object (ErrorHandlingSettings)
  },
  "modelSettings": {
    object (ModelSettings)
  },
  "toolExecutionMode": enum (ToolExecutionMode),
  "evaluationMetricsThresholds": {
    object (EvaluationMetricsThresholds)
  },
  "variableDeclarations": [
    {
      object (VariableDeclaration)
    }
  ],
  "predefinedVariableDeclarations": [
    {
      object (VariableDeclaration)
    }
  ],
  "globalInstruction": string,
  "guardrails": [
    string
  ],
  "dataStoreSettings": {
    object (DataStoreSettings)
  },
  "defaultChannelProfile": {
    object (ChannelProfile)
  },
  "metadata": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "deploymentCount": integer,
  "clientCertificateSettings": {
    object (ClientCertificateSettings)
  },
  "vpcScSettings": {
    object (VpcScSettings)
  },
  "locked": boolean,
  "validationErrors": [
    string
  ],
  "dashboardSettings": {
    object (DashboardSettings)
  }
}
Campos
name

string

Es el identificador. Es el identificador único de la app. Formato: projects/{project}/locations/{location}/apps/{app}

displayName

string

Obligatorio. Es el nombre visible de la app.

description

string

Es opcional. Es la descripción legible por humanos de la app.

pinned

boolean

Es opcional. Indica si la app está fijada en la lista de apps.

rootAgent

string

Es opcional. El agente raíz es el punto de entrada de la app. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

languageSettings

object (LanguageSettings)

Es opcional. La configuración de idioma de la app

timeZoneSettings

object (TimeZoneSettings)

Es opcional. Es la configuración de la zona horaria de la app.

audioProcessingConfig

object (AudioProcessingConfig)

Es opcional. Es la configuración del procesamiento de audio de la app.

loggingSettings

object (LoggingSettings)

Es opcional. Es la configuración de registro de la app.

errorHandlingSettings

object (ErrorHandlingSettings)

Es opcional. Configuración de manejo de errores de la app.

modelSettings

object (ModelSettings)

Es opcional. La configuración predeterminada del modelo de LLM para la app. Los recursos individuales (p.ej., agentes y protecciones) pueden anular estos parámetros de configuración según sea necesario.

toolExecutionMode

enum (ToolExecutionMode)

Es opcional. Es el modo de ejecución de la herramienta para la app. Si no se proporciona, se establecerá de forma predeterminada en PARALLEL.

evaluationMetricsThresholds

object (EvaluationMetricsThresholds)

Es opcional. Son los umbrales de evaluación de la app.

variableDeclarations[]

object (VariableDeclaration)

Es opcional. Las declaraciones de las variables.

predefinedVariableDeclarations[]

object (VariableDeclaration)

Solo salida. Son las declaraciones de variables predefinidas para la app.

globalInstruction

string

Es opcional. Son instrucciones para todos los agentes de la app. Puedes usar esta instrucción para configurar una identidad o personalidad estable en todos los agentes.

guardrails[]

string

Es opcional. Es la lista de protecciones de la app. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

dataStoreSettings

object (DataStoreSettings)

Es opcional. Es la configuración del almacén de datos de la app.

defaultChannelProfile

object (ChannelProfile)

Es opcional. Es el perfil de canal predeterminado que usa la app.

metadata

map (key: string, value: string)

Es opcional. Son los metadatos sobre la app. Este campo se puede usar para almacenar información adicional relevante para los detalles de la app o los usos previstos.

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

createTime

string (Timestamp format)

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

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. Marca de tiempo de la última actualización de la app.

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

etag

string

Solo salida. Es la etiqueta de entidad que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si la etag está vacía, la actualización reemplazará cualquier cambio simultáneo.

deploymentCount

integer

Solo salida. Es la cantidad de implementaciones en la app.

clientCertificateSettings

object (ClientCertificateSettings)

Es opcional. Es la configuración predeterminada del certificado de cliente para la app.

vpcScSettings

object (VpcScSettings)

Es opcional. La configuración de VPC-SC para la app.

locked

boolean

Es opcional. Indica si la app está bloqueada para cambios. Si la app está bloqueada, se rechazarán las modificaciones en sus recursos.

validationErrors[]

string

Solo salida. Configuraciones incorrectas o advertencias en la app

dashboardSettings

object (DashboardSettings)

Es opcional. Configuración del panel específica de la app para vincular y configurar los paneles de Estadísticas de Contact Center.

LanguageSettings

Representación JSON
{
  "defaultLanguageCode": string,
  "supportedLanguageCodes": [
    string
  ],
  "enableMultilingualSupport": boolean,
  "fallbackAction": string
}
Campos
defaultLanguageCode

string

Es opcional. Es el código de idioma predeterminado de la app.

supportedLanguageCodes[]

string

Es opcional. Es la lista de códigos de idioma que admite la app, además de default_language_code.

enableMultilingualSupport

boolean

Es opcional. Habilita la compatibilidad multilingüe. Si es true, los agentes de la app usarán instrucciones precompiladas para mejorar el manejo de la entrada multilingüe.

fallbackAction
(deprecated)

string

Es opcional. Obsoleto: Esta función ya no es compatible. En su lugar, usa enable_multilingual_support para mejorar el manejo de la entrada multilingüe. Es la acción que se debe realizar cuando un agente recibe una entrada en un idioma no admitido.

Puede ser una acción predefinida o una llamada a la herramienta personalizada. Los valores válidos son los siguientes: - El nombre de recurso completo de una herramienta, que activa la ejecución de una herramienta específica. - Una acción predefinida del sistema, como "derivar" o "salir", que activa un indicador EndSession con el metadata correspondiente para finalizar la conversación.

TimeZoneSettings

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

string

Es opcional. Es la zona horaria de la app de la base de datos de zonas horarias, p.ej., America/Los_Angeles, Europe/Paris.

AudioProcessingConfig

Representación JSON
{
  "synthesizeSpeechConfigs": {
    string: {
      object (SynthesizeSpeechConfig)
    },
    ...
  },
  "bargeInConfig": {
    object (BargeInConfig)
  },
  "inactivityTimeout": string,
  "ambientSoundConfig": {
    object (AmbientSoundConfig)
  },
  "customVoiceSamples": [
    {
      object (CustomVoiceSample)
    }
  ]
}
Campos
synthesizeSpeechConfigs

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

Es opcional. Configuración de cómo se debe sintetizar la respuesta del agente, asignando el código de idioma a SynthesizeSpeechConfig.

Si no se encuentra la configuración del código de idioma especificado, se usará la configuración del código de idioma raíz. Por ejemplo, si el mapa contiene "en-us" y "en", y el código de idioma especificado es "en-gb", se usará la configuración "en".

Nota: El código de idioma no distingue mayúsculas de minúsculas.

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

bargeInConfig

object (BargeInConfig)

Es opcional. Configura el comportamiento del agente para las actividades de interrupción del usuario.

inactivityTimeout

string (Duration format)

Es opcional. Es la duración de la inactividad del usuario (sin voz ni interacción) antes de que el agente le solicite que vuelva a participar. Si no se establece, el agente no le solicitará al usuario que vuelva a interactuar.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

ambientSoundConfig

object (AmbientSoundConfig)

Es opcional. Configuración del sonido ambiental que se reproducirá con la respuesta sintetizada del agente para mejorar la naturalidad de la conversación.

customVoiceSamples[]

object (CustomVoiceSample)

Es opcional. Configura muestras de voz personalizadas para la clonación de voz.

SynthesizeSpeechConfigsEntry

Representación JSON
{
  "key": string,
  "value": {
    object (SynthesizeSpeechConfig)
  }
}
Campos
key

string

value

object (SynthesizeSpeechConfig)

SynthesizeSpeechConfig

Representación JSON
{
  "voice": string,
  "speakingRate": number,
  "model": string,
  "instruction": string
}
Campos
voice

string

Opcional. El nombre de la voz. Si no se configura, el servicio elegirá una voz según los otros parámetros, como language_code.

Para obtener la lista de voces disponibles, consulta Voces y lenguajes compatibles de Cloud Text-to-Speech.

speakingRate

number

Es opcional. La velocidad de habla en el rango [0.25, 2.0]. 1.0 es la velocidad nativa normal que admite la voz específica. 2.0 es el doble de rápido y 0.5 es la mitad. Los valores fuera del rango [0.25, 2.0] devolverán un error.

model

string

Es opcional. Es el modelo que se usa para sintetizar audio. Valores admitidos actualmente: - "gemini-3.1-flash-tts-preview" Si está vacío, se usa Chirp3-HD.

instruction

string

Es opcional. Es la instrucción que se usa para sintetizar la voz cuando se usa un modelo generativo.

BargeInConfig

Representación JSON
{
  "disableBargeIn": boolean,
  "bargeInAwareness": boolean
}
Campos
disableBargeIn
(deprecated)

boolean

Es opcional. Obsoleto: disable_barge_in dejó de estar disponible y se reemplazó por disable_barge_in_control en ChannelProfile.

Inhabilita la interrupción del usuario mientras el agente está hablando. Si es verdadero, se ignorará la entrada del usuario durante la reproducción de la respuesta del agente.

bargeInAwareness

boolean

Es opcional. Si está habilitado, el agente adaptará su próxima respuesta en función de la suposición de que el usuario no escuchó el mensaje anterior completo del agente. No se debe usar en situaciones en las que las respuestas del agente se muestran de forma visual.

Duración

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

string (int64 format)

Segundos con signo del intervalo de tiempo. Debe ser un valor entre -315,576,000,000 y +315,576,000,000 inclusive. Nota: Estos límites se calculan de la siguiente manera: 60 s/min * 60 min/h * 24 h/día * 365.25 días/año * 10,000 años

nanos

integer

Fracciones con signo de un segundo con una resolución de nanosegundos del intervalo de tiempo. Las duraciones de menos de un segundo se representan con un campo seconds de 0 y un campo nanos positivo o negativo. En el caso de las duraciones de un segundo o más, un valor distinto de cero para el campo nanos debe tener el mismo signo que el campo seconds. Deben ser valores de -999,999,999 a +999,999,999 inclusive.

AmbientSoundConfig

Representación JSON
{
  "volumeGainDb": number,

  // Union field source can be only one of the following:
  "prebuiltAmbientNoise": enum (PrebuiltAmbientNoise),
  "gcsUri": string,
  "prebuiltAmbientSound": string
  // End of list of possible types for union field source.
}
Campos
volumeGainDb

number

Es opcional. Es la ganancia de volumen (en dB) del volumen nativo normal que admite el ruido ambiental, en el rango [-96.0, 16.0]. Si no se establece, o se establece en un valor de 0.0 (dB), se reproducirá en la amplitud de la señal nativa normal. Un valor de -6.0 (dB) se reproducirá aproximadamente a la mitad de la amplitud de la señal nativa normal. Un valor de +6.0 (dB) se reproducirá aproximadamente al doble de la amplitud de la señal nativa normal. Recomendamos no superar los +10 (dB) ya que, por lo general, no hay un aumento efectivo en la sonoridad para ningún valor superior.

Campo de unión source. Es el ruido ambiental que se reproducirá con la respuesta sintetizada del agente para mejorar la naturalidad de la conversación. source puede ser solo uno de los parámetros siguientes:
prebuiltAmbientNoise
(deprecated)

enum (PrebuiltAmbientNoise)

Es opcional. Obsoleto: prebuilt_ambient_noise dejó de estar disponible y se reemplazó por prebuilt_ambient_sound.

gcsUri

string

Es opcional. Ruido ambiental como un archivo WAV de 16 kHz de un solo canal almacenado en Cloud Storage.

Nota: Asegúrate de que el agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com tenga el permiso storage.objects.get para el objeto de Cloud Storage.

prebuiltAmbientSound

string

Es opcional. Es el nombre del sonido ambiental predeterminado. Los valores válidos son los siguientes: - "coffee_shop" - "keyboard" - "keypad" - "hum" - "office_1" - "office_2" - "office_3" - "room_1" - "room_2" - "room_3" - "room_4" - "room_5" - "air_conditioner"

CustomVoiceSample

Representación JSON
{
  "name": string,
  "voiceSampleGcsUri": string,
  "consentAudioGcsUri": string,
  "voiceInstruction": string,
  "previewAudioContent": string,
  "previewText": string,
  "warnings": [
    {
      object (Warning)
    }
  ],
  "voiceInstructionMode": enum (VoiceInstructionMode)
}
Campos
name

string

Es opcional. Es el nombre definido por el usuario para la muestra de voz personalizada.

voiceSampleGcsUri

string

Es opcional. Es el URI de Cloud Storage de la muestra de audio para la clonación de voz. La muestra de audio debe ser un archivo WAV de 24 kHz y un solo canal.

consentAudioGcsUri

string

Es opcional. Audio de consentimiento para la clonación de voz.

voiceInstruction

string

Es opcional. Son las instrucciones en lenguaje natural para el estilo, el tono, el ritmo o la pronunciación de la voz.

previewAudioContent

string (bytes format)

Solo salida. Es el audio de vista previa sintetizado para la voz personalizada, con formato WAV canónico (LINEAR16, 24 kHz, 16 bits, mono).

Es una cadena codificada en Base64.

previewText

string

Es opcional. Texto para sintetizar el audio de vista previa de la voz personalizada.

warnings[]

object (Warning)

Solo salida. Son los mensajes de advertencia que se encontraron durante el procesamiento de la clonación de voz (p.ej., nivel de audio bajo).

voiceInstructionMode

enum (VoiceInstructionMode)

Es opcional. Es el modo de instrucción para la muestra de voz. Si no se especifica, se establece de forma predeterminada como NO_INSTRUCTION.

Advertencia

Representación JSON
{
  "message": string,
  "type": enum (WarningType)
}
Campos
message

string

Solo salida. Es una descripción legible por humanos de la advertencia.

type

enum (WarningType)

Solo salida. Es el tipo de advertencia.

LoggingSettings

Representación JSON
{
  "redactionConfig": {
    object (RedactionConfig)
  },
  "audioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "unredactedAudioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "bigqueryExportSettings": {
    object (BigQueryExportSettings)
  },
  "unredactedBigqueryExportSettings": {
    object (BigQueryExportSettings)
  },
  "cloudLoggingSettings": {
    object (CloudLoggingSettings)
  },
  "conversationLoggingSettings": {
    object (ConversationLoggingSettings)
  },
  "evaluationAudioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "metricAnalysisSettings": {
    object (MetricAnalysisSettings)
  },
  "requiredRecordingConsent": boolean
}
Campos
redactionConfig

object (RedactionConfig)

Es opcional. Es la configuración de cómo se deben ocultar los datos sensibles.

audioRecordingConfig

object (AudioRecordingConfig)

Es opcional. Configuración de cómo se deben grabar las interacciones de audio. El audio está sujeto a ocultamiento según lo configurado en RedactionConfig.

unredactedAudioRecordingConfig

object (AudioRecordingConfig)

Es opcional. Configura una grabación adicional de audio sin ocultar. Esto se puede usar para mantener una copia de audio sin procesar cuando se enabled la ocultación de audio, por lo general, con fines de auditoría o supervisión.

bigqueryExportSettings

object (BigQueryExportSettings)

Es opcional. Configura los comportamientos de BigQuery Export para la app. Los datos de la conversación están sujetos a ocultamiento, según se configura en RedactionConfig.

unredactedBigqueryExportSettings

object (BigQueryExportSettings)

Es opcional. Configura los comportamientos de exportación de BigQuery para la app. Los datos de conversación sin ocultar se exportarán a las tablas de BigQuery si están habilitados.

cloudLoggingSettings

object (CloudLoggingSettings)

Es opcional. Es la configuración para describir los comportamientos de Cloud Logging de la app.

conversationLoggingSettings

object (ConversationLoggingSettings)

Es opcional. Es la configuración para describir los comportamientos de registro de conversaciones de la app.

evaluationAudioRecordingConfig

object (AudioRecordingConfig)

Es opcional. Es la configuración de cómo se deben grabar las interacciones de audio para la evaluación. De forma predeterminada, la grabación de audio no está habilitada para las sesiones de evaluación.

metricAnalysisSettings

object (MetricAnalysisSettings)

Es opcional. Son los parámetros de configuración que describen los comportamientos de recopilación de datos de conversaciones para la canalización de análisis de LLM de la app.

requiredRecordingConsent

boolean

Es opcional. Si la app debe indicar qué se puede grabar antes de que se guarde cualquier elemento.

Cuando es verdadero, una sesión comienza con la grabación desactivada y permanece desactivada hasta que el cliente envía SessionInput.recording_control, que luego decide cada turno a partir de ese momento. Esto abarca la grabación de audio, así como el historial de conversaciones, la exportación a BigQuery y Cloud Logging.

Cuando se establece en false, el valor predeterminado, los parámetros de configuración anteriores deciden por sí mismos y el cliente no tiene que enviar nada.

RedactionConfig

Representación JSON
{
  "enableRedaction": boolean,
  "inspectTemplate": string,
  "deidentifyTemplate": string
}
Campos
enableRedaction

boolean

Es opcional. Si es true, se aplicará la ocultación en varias situaciones de registro, como el historial de conversaciones, Cloud Logging y la grabación de audio.

inspectTemplate

string

Es opcional. Nombre de la plantilla de inspección de DLP para configurar la detección de tipos de datos sensibles.

Formato: projects/{project}/locations/{location}/inspectTemplates/{inspect_template}

deidentifyTemplate

string

Es opcional. Nombre de la plantilla de desidentificación de DLP para indicar cómo desidentificar el contenido.

Formato: projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}

AudioRecordingConfig

Representación JSON
{
  "gcsBucket": string,
  "gcsPathPrefix": string
}
Campos
gcsBucket

string

Es opcional. El bucket de Cloud Storage para almacenar las grabaciones de audio de la sesión. El URI debe empezar con "gs://".

Elige una ubicación de bucket que cumpla con tus requisitos de residencia de datos.

Nota: Si el bucket de Cloud Storage está en un proyecto diferente al de la app, debes otorgar el permiso storage.objects.create al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

gcsPathPrefix

string

Es opcional. Es el prefijo de la ruta de acceso de Cloud Storage para las grabaciones de audio.

Este prefijo puede incluir los siguientes marcadores de posición, que se sustituirán de forma dinámica en el momento de la publicación: - $project: ID del proyecto - $location: ubicación de la app - $app: ID de la app - $date: fecha de la sesión en formato AAAA-MM-DD - $session: ID de la sesión

Si no se especifica el prefijo de la ruta de acceso, se usará el prefijo predeterminado $project/$location/$app/$date/$session/.

BigQueryExportSettings

Representación JSON
{
  "enabled": boolean,
  "project": string,
  "dataset": string
}
Campos
enabled

boolean

Es opcional. Indica si la exportación de BigQuery está habilitada.

project

string

Es opcional. El ID del proyecto del conjunto de datos de BigQuery al que se exportarán los datos.

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

dataset

string

Es opcional. Es el ID del conjunto de datos de BigQuery al que se exportarán los datos.

CloudLoggingSettings

Representación JSON
{
  "enableCloudLogging": boolean
}
Campos
enableCloudLogging

boolean

Es opcional. Indica si se debe habilitar Cloud Logging para las sesiones.

ConversationLoggingSettings

Representación JSON
{
  "disableConversationLogging": boolean,
  "retentionWindow": string
}
Campos
disableConversationLogging

boolean

Es opcional. Indica si se debe inhabilitar el registro de conversaciones para las sesiones.

retentionWindow

string (Duration format)

Es opcional. Controla el período de retención de la conversación. Si no se establece, la conversación se conservará durante 365 días.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

MetricAnalysisSettings

Representación JSON
{
  "llmMetricsOptedOut": boolean
}
Campos
llmMetricsOptedOut

boolean

Es opcional. Indica si se deben recopilar datos de conversación para las métricas de análisis de LLM. Si se establece como verdadero, no se recopilarán datos de conversación para las métricas de análisis de LLM; de lo contrario, se recopilarán datos de conversación.

ErrorHandlingSettings

Representación JSON
{
  "errorHandlingStrategy": enum (ErrorHandlingStrategy),
  "fallbackResponseConfig": {
    object (FallbackResponseConfig)
  },
  "endSessionConfig": {
    object (EndSessionConfig)
  }
}
Campos
errorHandlingStrategy

enum (ErrorHandlingStrategy)

Es opcional. Es la estrategia que se usará para el manejo de errores.

fallbackResponseConfig

object (FallbackResponseConfig)

Es opcional. Configuración para controlar las respuestas de resguardo.

endSessionConfig

object (EndSessionConfig)

Es opcional. Es la configuración para finalizar la sesión en caso de errores del sistema (p.ej., errores de LLM).

FallbackResponseConfig

Representación JSON
{
  "customFallbackMessages": {
    string: string,
    ...
  },
  "maxFallbackAttempts": integer
}
Campos
customFallbackMessages

map (key: string, value: string)

Es opcional. Son los mensajes de resguardo en caso de errores del sistema (p.ej., errores de LLM), asignados por el código de idioma admitido.

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

maxFallbackAttempts

integer

Es opcional. Es la cantidad máxima de intentos de resguardo que se deben realizar antes de que el agente emita el indicador EndSession.

CustomFallbackMessagesEntry

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

string

value

string

EndSessionConfig

Representación JSON
{

  // Union field _escalate_session can be only one of the following:
  "escalateSession": boolean
  // End of list of possible types for union field _escalate_session.
}
Campos

Campo de unión _escalate_session.

_escalate_session puede ser una de las siguientes opciones:

escalateSession

boolean

Es opcional. Indica si se debe derivar la sesión en EndSession. Si se deriva la sesión, metadata in EndSession contendrá session_escalated = true. Consulta https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/deploy/google-telephony-platform#transfer_a_call_to_a_human_agent para obtener más detalles.

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 de LLM que debe usar el agente. Si no se establece, 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 establece, se usará esta temperatura 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.

EvaluationMetricsThresholds

Representación JSON
{
  "goldenEvaluationMetricsThresholds": {
    object (GoldenEvaluationMetricsThresholds)
  },
  "hallucinationMetricBehavior": enum (HallucinationMetricBehavior),
  "goldenHallucinationMetricBehavior": enum (HallucinationMetricBehavior),
  "scenarioHallucinationMetricBehavior": enum (HallucinationMetricBehavior)
}
Campos
goldenEvaluationMetricsThresholds

object (GoldenEvaluationMetricsThresholds)

Es opcional. Los umbrales de las métricas de evaluación de referencia.

hallucinationMetricBehavior
(deprecated)

enum (HallucinationMetricBehavior)

Es opcional. Obsoleto: Usa golden_hallucination_metric_behavior en su lugar. Actualmente, el comportamiento de la métrica de alucinación se usa para las evaluaciones de referencia.

goldenHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

Es opcional. Es el comportamiento de la métrica de alucinación para las evaluaciones de referencia.

scenarioHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

Es opcional. Es el comportamiento de la métrica de alucinación para las evaluaciones de situaciones.

GoldenEvaluationMetricsThresholds

Representación JSON
{
  "turnLevelMetricsThresholds": {
    object (TurnLevelMetricsThresholds)
  },
  "expectationLevelMetricsThresholds": {
    object (ExpectationLevelMetricsThresholds)
  },
  "toolMatchingSettings": {
    object (ToolMatchingSettings)
  }
}
Campos
turnLevelMetricsThresholds

object (TurnLevelMetricsThresholds)

Es opcional. Son los umbrales de las métricas a nivel del turno.

expectationLevelMetricsThresholds

object (ExpectationLevelMetricsThresholds)

Es opcional. Son los umbrales de las métricas de nivel de expectativa.

toolMatchingSettings

object (ToolMatchingSettings)

Es opcional. La configuración de coincidencia de la herramienta. Una llamada a la herramienta adicional es una llamada a la herramienta que está presente en la ejecución, pero que no coincide con ninguna llamada a la herramienta en la expectativa de referencia.

TurnLevelMetricsThresholds

Representación JSON
{
  "semanticSimilarityChannel": enum (SemanticSimilarityChannel),

  // Union field _semantic_similarity_success_threshold can be only one of the
  // following:
  "semanticSimilaritySuccessThreshold": integer
  // End of list of possible types for union field
  // _semantic_similarity_success_threshold.

  // Union field _overall_tool_invocation_correctness_threshold can be only one
  // of the following:
  "overallToolInvocationCorrectnessThreshold": number
  // End of list of possible types for union field
  // _overall_tool_invocation_correctness_threshold.
}
Campos
semanticSimilarityChannel

enum (SemanticSimilarityChannel)

Es opcional. Es el canal de similitud semántica que se usará para la evaluación.

Campo de unión _semantic_similarity_success_threshold.

_semantic_similarity_success_threshold puede ser una de las siguientes opciones:

semanticSimilaritySuccessThreshold

integer

Es opcional. Es el umbral de éxito para la similitud semántica. Debe ser un número entero entre 0 y 4. El valor predeterminado es >= 3.

Campo de unión _overall_tool_invocation_correctness_threshold.

_overall_tool_invocation_correctness_threshold puede ser una de las siguientes opciones:

overallToolInvocationCorrectnessThreshold

number

Es opcional. Es el umbral de éxito para la corrección general de la invocación de herramientas. Debe ser un número de punto flotante entre 0 y 1. El valor predeterminado es 1.0.

ExpectationLevelMetricsThresholds

Representación JSON
{

  // Union field _tool_invocation_parameter_correctness_threshold can be only one
  // of the following:
  "toolInvocationParameterCorrectnessThreshold": number
  // End of list of possible types for union field
  // _tool_invocation_parameter_correctness_threshold.
}
Campos

Campo de unión _tool_invocation_parameter_correctness_threshold.

_tool_invocation_parameter_correctness_threshold puede ser una de las siguientes opciones:

toolInvocationParameterCorrectnessThreshold

number

Es opcional. Es el umbral de éxito para la corrección de los parámetros de invocación de herramientas individuales. Debe ser un número de punto flotante entre 0 y 1. El valor predeterminado es 1.0.

ToolMatchingSettings

Representación JSON
{
  "extraToolCallBehavior": enum (ExtraToolCallBehavior)
}
Campos
extraToolCallBehavior

enum (ExtraToolCallBehavior)

Es opcional. Comportamiento para las llamadas a herramientas adicionales. La configuración predeterminada es FAIL.

VariableDeclaration

Representación JSON
{
  "name": string,
  "description": string,
  "schema": {
    object (Schema)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la variable. El nombre debe comenzar con una letra o un guion bajo, y solo puede contener letras, números o guiones bajos.

description

string

Obligatorio. Es la descripción de la variable.

schema

object (Schema)

Obligatorio. Es el esquema de la variable.

Esquema

Representación JSON
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
Campos
type

enum (Type)

Obligatorio. Es el tipo de datos.

properties

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

Es opcional. Propiedades de Type.OBJECT.

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

required[]

string

Es opcional. Propiedades obligatorias de Type.OBJECT.

description

string

Es opcional. La descripción de los datos.

items

object (Schema)

Es opcional. Esquema de los elementos de Type.ARRAY.

nullable

boolean

Es opcional. Indica si el valor puede ser nulo.

uniqueItems

boolean

Es opcional. Indica que los elementos del array deben ser únicos. Solo se aplica a TYPE.ARRAY.

prefixItems[]

object (Schema)

Es opcional. Esquemas de los elementos iniciales de Type.ARRAY.

additionalProperties

object (Schema)

Es opcional. Puede ser un booleano o un objeto, y controla la presencia de propiedades adicionales.

anyOf[]

object (Schema)

Es opcional. El valor se debe validar con cualquiera (uno o más) de los subesquemas de la lista.

enum[]

string

Es opcional. Valores posibles del elemento de tipo primitivo con formato de enumeración. Ejemplos: 1. Podemos definir la dirección de la siguiente manera : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Podemos definir el número de departamento de la siguiente manera : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Es opcional. Es el valor predeterminado de los datos.

ref

string

Es opcional. Permite referencias indirectas entre nodos de esquema. El valor debe ser una referencia válida a un elemento secundario de la raíz defs.

Por ejemplo, el siguiente esquema define una referencia a un nodo de esquema llamado "Pet":

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

El valor de la propiedad "pet" es una referencia al nodo de esquema llamado "Pet". Consulta los detalles en https://json-schema.org/understanding-json-schema/structuring.

defs

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

Es opcional. Es un mapa de definiciones que usa ref. Solo se permite en la raíz del esquema.

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

title

string

Es opcional. Es el título del esquema.

minItems

string (int64 format)

Es opcional. Es la cantidad mínima de elementos para Type.ARRAY.

maxItems

string (int64 format)

Es opcional. Es la cantidad máxima de elementos para Type.ARRAY.

Campo de unión _minimum.

_minimum puede ser una de las siguientes opciones:

minimum

number

Es opcional. Es el valor mínimo para Type.INTEGER y Type.NUMBER.

Campo de unión _maximum.

_maximum puede ser una de las siguientes opciones:

maximum

number

Es opcional. Es el valor máximo para Type.INTEGER y Type.NUMBER.

PropertiesEntry

Representación JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

Valor

Representación JSON
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Campos
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes:
nullValue

null

Representa un null JSON.

numberValue

number

Representa un número JSON. No debe ser NaN, Infinity ni -Infinity, ya que no se admiten en JSON. Tampoco puede representar valores Int64 grandes, ya que el formato JSON, por lo general, no los admite en su tipo de número.

stringValue

string

Representa una cadena JSON.

boolValue

boolean

Representa un booleano JSON (literal true o false en JSON).

structValue

object (Struct format)

Representa un objeto JSON.

listValue

array (ListValue format)

Representa un array JSON.

Struct

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

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

Es un mapa sin ordenar de valores con tipo dinámico.

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

FieldsEntry

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

string

value

value (Value format)

ListValue

Representación JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Es un campo repetido de valores con tipo dinámico.

DefsEntry

Representación JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

DataStoreSettings

Representación JSON
{
  "engines": [
    {
      object (Engine)
    }
  ]
}
Campos
engines[]

object (Engine)

Solo salida. Son los motores de la app.

Motor

Representación JSON
{
  "name": string,
  "type": enum (Type)
}
Campos
name

string

Solo salida. Es el nombre del recurso del motor. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

type

enum (Type)

Solo salida. Es el tipo de motor.

ChannelProfile

Representación JSON
{
  "profileId": string,
  "channelType": enum (ChannelType),
  "personaProperty": {
    object (PersonaProperty)
  },
  "webWidgetConfig": {
    object (WebWidgetConfig)
  },
  "whatsappConfig": {
    object (WhatsAppConfig)
  },
  "instagramConfig": {
    object (InstagramConfig)
  },

  // Union field _disable_dtmf can be only one of the following:
  "disableDtmf": boolean
  // End of list of possible types for union field _disable_dtmf.

  // Union field _disable_barge_in_control can be only one of the following:
  "disableBargeInControl": boolean
  // End of list of possible types for union field _disable_barge_in_control.

  // Union field _noise_suppression_level can be only one of the following:
  "noiseSuppressionLevel": string
  // End of list of possible types for union field _noise_suppression_level.
}
Campos
profileId

string

Es opcional. Es el identificador único del perfil del canal.

channelType

enum (ChannelType)

Es opcional. Es el tipo de perfil del canal.

personaProperty

object (PersonaProperty)

Es opcional. Es la propiedad de la persona del perfil del canal.

webWidgetConfig

object (WebWidgetConfig)

Es opcional. La configuración del widget web.

whatsappConfig

object (WhatsAppConfig)

Es opcional. Es la configuración específica de las implementaciones de WhatsApp.

instagramConfig

object (InstagramConfig)

Es opcional. Configuración específica para las implementaciones de Instagram.

Campo de unión _disable_dtmf.

_disable_dtmf puede ser una de las siguientes opciones:

disableDtmf

boolean

Es opcional. Indica si se debe inhabilitar la DTMF (multifrecuencia de dos tonos).

Campo de unión _disable_barge_in_control.

_disable_barge_in_control puede ser una de las siguientes opciones:

disableBargeInControl

boolean

Es opcional. Indica si se debe inhabilitar el control de interrupción del usuario en la conversación. - true: Las interrupciones del usuario se inhabilitan mientras el agente habla. - false: El agente conserva el control automático sobre cuándo el usuario puede interrumpir.

Campo de unión _noise_suppression_level.

_noise_suppression_level puede ser una de las siguientes opciones:

noiseSuppressionLevel

string

Es opcional. Es el nivel de reducción de ruido del perfil del canal. Los valores disponibles son "low", "moderate", "high" y "very_high".

PersonaProperty

Representación JSON
{
  "persona": enum (Persona)
}
Campos
persona

enum (Persona)

Es opcional. La personalidad del canal

WebWidgetConfig

Representación JSON
{
  "modality": enum (Modality),
  "theme": enum (Theme),
  "webWidgetTitle": string,
  "securitySettings": {
    object (SecuritySettings)
  }
}
Campos
modality

enum (Modality)

Es opcional. La modalidad del widget web.

theme

enum (Theme)

Es opcional. Es el tema del widget web.

webWidgetTitle

string

Es opcional. Es el título del widget web.

securitySettings

object (SecuritySettings)

Es opcional. La configuración de seguridad del widget web.

SecuritySettings

Representación JSON
{
  "enablePublicAccess": boolean,
  "enableOriginCheck": boolean,
  "allowedOrigins": [
    string
  ],
  "enableRecaptcha": boolean
}
Campos
enablePublicAccess

boolean

Es opcional. Indica si está habilitado el acceso público al widget web. Si es true, el widget web será de acceso público. Si es false, el widget web debe integrarse con tu propio sistema de autenticación y autorización para devolver credenciales válidas que permitan acceder al agente de CES.

enableOriginCheck

boolean

Es opcional. Indica si está habilitada la verificación de origen para el widget web. Si es true, el widget web verificará el origen del sitio web que lo carga y solo permitirá que se cargue en el mismo origen o en cualquiera de los orígenes permitidos.

allowedOrigins[]

string

Es opcional. Son los orígenes que pueden alojar el widget web. RFC 6454 define un origen. Si está vacío, se permiten todos los orígenes. Se permite un máximo de 100 orígenes. Ejemplo: "https://example.com"

enableRecaptcha

boolean

Es opcional. Indica si la verificación de reCAPTCHA para el widget web está habilitada.

WhatsAppConfig

Representación JSON
{
  "wabaId": string,
  "phoneNumberId": string,
  "phoneNumber": string,
  "displayName": string,
  "thumbnailUrl": string,
  "description": string
}
Campos
wabaId

string

Obligatorio. Es el ID de la cuenta de WhatsApp Business.

phoneNumberId

string

Obligatorio. Es el ID del número de teléfono de Meta.

phoneNumber

string

Es opcional. Es el número de teléfono en formato E.164.

displayName

string

Solo salida. Es el nombre de la página de Meta de la empresa que se recuperó.

thumbnailUrl

string

Solo salida. Es la URL de la miniatura del perfil de Meta de la empresa que se recuperó.

description

string

Solo salida. La descripción de la página o el perfil de Meta de la empresa.

InstagramConfig

Representación JSON
{
  "instagramAccountId": string,
  "displayName": string,
  "thumbnailUrl": string,
  "description": string
}
Campos
instagramAccountId

string

Obligatorio. Es el ID de la cuenta de Instagram.

displayName

string

Solo salida. Es el nombre de la página de Meta de la empresa que se recuperó.

thumbnailUrl

string

Solo salida. Es la URL de la miniatura del perfil de Meta de la empresa que se recuperó.

description

string

Solo salida. La descripción de la página o el perfil de Meta de la empresa.

MetadataEntry

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

string

value

string

ClientCertificateSettings

Representación JSON
{
  "tlsCertificate": string,
  "privateKey": string,
  "passphrase": string
}
Campos
tlsCertificate

string

Obligatorio. Es el certificado TLS codificado en formato PEM. Esta cadena debe incluir las líneas de encabezado de inicio y de pie de página de finalización.

privateKey

string

Obligatorio. Es el nombre del recurso de la versión del Secret de SecretManager que almacena la clave privada codificada en formato PEM. Formato: projects/{project}/secrets/{secret}/versions/{version}

passphrase

string

Es opcional. Es el nombre del recurso de la versión del Secret de Secret Manager que almacena la frase de contraseña para desencriptar la clave privada. Debe dejarse sin configurar si la clave privada no está encriptada. Formato: projects/{project}/secrets/{secret}/versions/{version}

VpcScSettings

Representación JSON
{
  "allowedOrigins": [
    string
  ]
}
Campos
allowedOrigins[]

string

Es opcional. Son los orígenes HTTP(S) permitidos a los que las herramientas de OpenAPI de la app pueden llamar directamente cuando los Controles del servicio de VPC están habilitados. Estas cadenas deben coincidir exactamente con el origen, incluido el puerto si se especifica. Por ejemplo, "https://example.com" o "https://example.com:443". Esta lista aún no se aplica a las herramientas de Python que pueden realizar llamadas HTTP directas.

DashboardSettings

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

string

Es opcional. Es el nombre del recurso del panel predeterminado de Estadísticas de Contact Center asociado con la app. Este es el panel que se mostrará cuando los usuarios naveguen a la vista de Supervisión de la app.

Formato: projects/{project}/locations/{location}/dashboards/{dashboard}

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. Descripción del agente legible por humanos.

modelSettings

object (ModelSettings)

Es opcional. Son los parámetros de configuración del modelo de LLM.

instruction

string

Es opcional. Son las instrucciones para que el modelo de LLM guíe 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 muestra 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 muestra 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 muestra 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 muestra 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 muestra 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 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 muestra 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. 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 barreras de seguridad para el agente. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

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

toolsets[]

object (AgentToolset)

Es opcional. Es la lista de conjuntos de herramientas para el agente.

generatedSummary

string

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

transferRules[]

object (TransferRule)

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

validationErrors[]

string

Solo salida. Parámetros de configuración incorrectos o errores 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 establece 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. 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 de 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. La asignación de los nombres de las variables de la app a los nombres de los parámetros de 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 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 establecida 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. Es el 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 de 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. Asignación de nombres de variables de entrada del agente remoto a nombres de 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. Asignación de nombres de variables de salida del agente remoto a nombres de 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. Especificación del agente remoto. agent_spec puede ser solo uno de los parámetros siguientes:
agentCard

object (AgentCard)

Es opcional. La tarjeta de agente completa definida de forma intercalada.

agentRegistry

string

Es opcional. 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. Una descripción del dominio de acción o espacio de solución del agente.

supportedInterfaces[]

object (AgentInterface)

Obligatorio. Es una 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 un poco abstracto, pero representa un conjunto de acciones más enfocado en el 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 de protocolo admitida en esta URL. Esta es una cadena de formato abierto que se puede extender fácilmente para otras vinculaciones de protocolo. Los principales que se admiten oficialmente son JSONRPC, GRPC y HTTP+JSON.

tenant

string

Es el ID de usuario 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 por humanos para la habilidad.

description

string

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

tags[]

string

Obligatorio. Un conjunto de palabras clave que describen las capacidades de la habilidad.

examples[]

string

Instrucciones o situaciones de ejemplo que esta habilidad puede controlar.

inputModes[]

string

Es el conjunto de tipos de contenido multimedia 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. Configuración para la autenticación con clave de API.

oauthConfig

object (OAuthConfig)

Es opcional. Configuración de OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Es opcional. Es la configuración para la autenticación con tokens de ID generada 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 del 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 del Secret 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. Es el nombre del recurso de la versión del Secret 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 que se intercambiará 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 permiso 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

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 por humanos de la devolución de llamada.

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 se habilita, 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 posterior al modelo. HABILITA 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.

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. 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 transfiere de inmediato al agente de destino cuando se cumple la condición.

disablePlannerTransfer

object (DisablePlannerTransfer)

Es opcional. Es la regla que impide que el planificador transfiera al agente de destino.

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 produce 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 produce 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, el planificador no podrá transferir al agente de destino.

Herramienta

Representación JSON
{
  "name": string,
  "displayName": string,
  "executionType": enum (ExecutionType),
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "generatedSummary": string,
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },
  "readOnly": boolean,

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

string

Es el identificador. Es el nombre del recurso de la herramienta. Formato:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} para las herramientas independientes.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} para las herramientas recuperadas de un conjunto de herramientas.

Estas herramientas son dinámicas y solo de salida; no se puede hacer referencia a ellas directamente donde se espera una herramienta.

displayName

string

Solo salida. Es el nombre visible de la herramienta, que se deriva según su tipo. Por ejemplo, el nombre visible de una [ClientFunction][Tool.ClientFunction] se deriva de su propiedad name.

executionType

enum (ExecutionType)

Es opcional. Es el tipo de ejecución de la herramienta.

timeout

string (Duration format)

Es opcional. Es el tiempo de espera para la ejecución de la herramienta. Si no se establece, el tiempo de espera predeterminado es de 30 segundos para las herramientas de SYNCHRONOUS y de 60 segundos para las herramientas de ASYNCHRONOUS.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

createTime

string (Timestamp format)

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

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. Marca de tiempo de la última actualización de la herramienta.

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

etag

string

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

generatedSummary

string

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

toolFakeConfig

object (ToolFakeConfig)

Es opcional. Configuración del comportamiento de la herramienta en el modo falso.

readOnly

boolean

Solo salida. Indica si la herramienta es de solo lectura. Si es verdadero, el usuario no puede modificar la herramienta.

Campo de unión tool_type. Es el tipo de herramienta. tool_type puede ser solo uno de los parámetros siguientes:
clientFunction

object (ClientFunction)

Es opcional. La función del cliente

openApiTool

object (OpenApiTool)

Es opcional. La herramienta de API abierta.

googleSearchTool

object (GoogleSearchTool)

Es opcional. La herramienta de Búsqueda de Google

connectorTool

object (ConnectorTool)

Es opcional. La herramienta Integration Connector

dataStoreTool

object (DataStoreTool)

Es opcional. La herramienta de almacén de datos.

pythonFunction

object (PythonFunction)

Es opcional. La herramienta de función de Python.

mcpTool

object (McpTool)

Es opcional. La herramienta de MCP. No se puede crear ni actualizar una herramienta de MCP directamente, y se administra con el conjunto de herramientas de MCP.

fileSearchTool

object (FileSearchTool)

Es opcional. La herramienta de búsqueda de archivos.

systemTool

object (SystemTool)

Es opcional. La herramienta del sistema.

agentTool

object (AgentTool)

Es opcional. La herramienta del agente.

widgetTool

object (WidgetTool)

Es opcional. La herramienta de widgets

remoteAgentTool

object (RemoteAgentTool)

Es opcional. La herramienta de agente remoto.

ClientFunction

Representación JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la función.

description

string

Es opcional. Es la descripción de la función.

parameters

object (Schema)

Es opcional. Es el esquema de los parámetros de la función.

response

object (Schema)

Es opcional. Es el esquema de la respuesta de la función.

OpenApiTool

Representación JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Campos
openApiSchema

string

Obligatorio. Es el esquema de OpenAPI en formato JSON o YAML.

name

string

Es opcional. Es el nombre de la herramienta. Si no se proporciona, el nombre de la herramienta se derivará del esquema de OpenAPI, de operation.operationId.

description

string

Es opcional. Es la descripción de la herramienta. Si no se proporciona, la descripción de la herramienta se derivará del esquema de OpenAPI, de operation.description o operation.summary.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la información de autenticación que requiere la API.

tlsConfig

object (TlsConfig)

Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que confiará el cliente.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Configuración del Directorio de servicios.

ignoreUnknownFields

boolean

Es opcional. Si es verdadero, el agente ignorará los campos desconocidos en la respuesta de la API.

url

string

Es opcional. Es la URL del servidor del esquema de OpenAPI. Este campo solo se establece en las herramientas de las dependencias del entorno durante el proceso de exportación si el esquema contiene una URL del servidor. Durante el proceso de importación, si esta URL está presente en las dependencias del entorno y el esquema tiene el marcador de posición $env_var, se reemplazará el marcador de posición en el esquema.

TlsConfig

Representación JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Campos
caCerts[]

object (CaCert)

Obligatorio. Especifica una lista de certificados de AC personalizados permitidos para la verificación de HTTPS.

CaCert

Representación JSON
{
  "displayName": string,
  "cert": string
}
Campos
displayName

string

Obligatorio. Es el nombre de los certificados de la AC personalizados permitidos. Esto se puede usar para eliminar la ambigüedad de los certificados de la AC personalizados.

cert

string (bytes format)

Obligatorio. Son los certificados de la AC personalizados permitidos (en formato DER) para la verificación de HTTPS. Esto anula el almacén de confianza de SSL predeterminado. Si este campo está vacío o no se especifica, CES usará el almacén de confianza predeterminado de Google para verificar los certificados. Nota: Asegúrate de que los certificados del servidor HTTPS estén firmados con "subject alt name". Por ejemplo, un certificado se puede autofirmar con el siguiente comando:

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

Es una cadena codificada en Base64.

ServiceDirectoryConfig

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

string

Obligatorio. Es el nombre del servicio del Directorio de servicios. Formato: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. La ubicación del directorio de servicios debe ser la misma que la de la app.

GoogleSearchTool

Representación JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta.

description

string

Es opcional. Descripción del propósito de la herramienta.

contextUrls[]

string

Es opcional. El contenido se recuperará directamente de estas URLs para el contexto y la fundamentación. Ejemplo: "https://example.com/path.html". Se permite un máximo de 20 URLs.

preferredDomains[]

string

Es opcional. Especifica los dominios a los que se deben restringir los resultados de la búsqueda. Ejemplo: "example.com", "another.site". Se puede especificar un máximo de 20 dominios.

excludeDomains[]

string

Es opcional. Es la lista de dominios que se excluirán de los resultados de la búsqueda. Ejemplo: "example.com". Se puede excluir un máximo de 2,000 dominios.

promptConfig

object (PromptConfig)

Es opcional. Son las instrucciones de la instrucción que se pasan al planificador sobre cómo se deben procesar los resultados de la búsqueda para texto y voz.

PromptConfig

Representación JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Campos
textPrompt

string

Es opcional. Define la instrucción que se usa para las instrucciones del sistema cuando se interactúa con el agente en conversaciones de chat. Si no se establece, se usará la instrucción predeterminada.

voicePrompt

string

Es opcional. Define la instrucción que se usa para las instrucciones del sistema cuando se interactúa con el agente en conversaciones de voz. Si no se establece, se usará la instrucción predeterminada.

ConnectorTool

Representación JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Campos
connection

string

Obligatorio. Es el nombre completo del recurso de la conexión de Integration Connectors a la que se hace referencia. Formato: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Obligatorio. Es la acción que debe usar la herramienta.

authConfig

object (EndUserAuthConfig)

Es opcional. Configura cómo se controla la autenticación en Integration Connectors. De forma predeterminada, se pasa una autenticación de administrador en las solicitudes a la API de Integration Connectors. Puedes anularla con una configuración de autenticación de usuario final diferente. Nota: La conexión debe tener habilitada la anulación de la autenticación para especificar una configuración de EUC aquí; de lo contrario, fallará la creación de ConnectorTool. Consulta https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override para obtener más detalles.

name

string

Es opcional. Es el nombre de la herramienta que puede usar el agente para decidir si llamar a esta ConnectorTool.

description

string

Es opcional. Es la descripción de la herramienta que el agente puede usar para decidir si llamar a esta ConnectorTool.

Acción

Representación JSON
{
  "inputFields": [
    string
  ],
  "outputFields": [
    string
  ],

  // Union field action_spec can be only one of the following:
  "connectionActionId": string,
  "entityOperation": {
    object (EntityOperation)
  }
  // End of list of possible types for union field action_spec.
}
Campos
inputFields[]

string

Es opcional. Son los campos de entidad que se usarán como entradas para la operación. Si no se especifica ningún campo, se usarán todos los campos de la entidad.

outputFields[]

string

Es opcional. Son los campos de entidad que se devolverán de la operación. Si no se especifica ningún campo, se devolverán todos los campos de la entidad.

Campo de unión action_spec. Especificación de una acción que se debe configurar para que la herramienta la use. action_spec puede ser solo uno de los parámetros siguientes:
connectionActionId

string

Es el ID de una acción de conexión que usará la herramienta.

entityOperation

object (EntityOperation)

Es la configuración de la operación de entidad que usará la herramienta.

EntityOperation

Representación JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Campos
entityId

string

Obligatorio. Es el ID de la entidad.

operation

enum (OperationType)

Obligatorio. Es la operación que se realizará en la entidad.

EndUserAuthConfig

Representación JSON
{

  // Union field auth_config can be only one of the following:
  "oauth2AuthCodeConfig": {
    object (Oauth2AuthCodeConfig)
  },
  "oauth2JwtBearerConfig": {
    object (Oauth2JwtBearerConfig)
  }
  // End of list of possible types for union field auth_config.
}
Campos
Campo de unión auth_config. Es la configuración de autenticación. auth_config puede ser solo uno de los parámetros siguientes:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Autenticación con código de autorización de OAuth 2.0.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Autenticación de otorgamiento de autorización de OAuth 2.0 de perfil de JWT

Oauth2AuthCodeConfig

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

string

Obligatorio. Es el nombre del parámetro del token de OAuth que se pasará. Debe tener el formato $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Representación JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Campos
issuer

string

Obligatorio. Es el nombre del parámetro de la entidad emisora que se pasará. Debe tener el formato $context.variables.<name_of_variable>.

subject

string

Obligatorio. Es el nombre del parámetro del asunto que se pasará. Debe tener el formato $context.variables.<name_of_variable>.

clientKey

string

Obligatorio. Es el nombre del parámetro del cliente que se pasará. Debe tener el formato $context.variables.<name_of_variable>.

DataStoreTool

Representación JSON
{
  "name": string,
  "description": string,
  "boostSpecs": [
    {
      object (BoostSpecs)
    }
  ],
  "modalityConfigs": [
    {
      object (ModalityConfig)
    }
  ],
  "filterParameterBehavior": enum (FilterParameterBehavior),

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

string

Obligatorio. Es el nombre de la herramienta del almacén de datos.

description

string

Es opcional. Es la descripción de la herramienta.

boostSpecs[]

object (BoostSpecs)

Es opcional. Especificación de mejora para mejorar ciertos documentos.

modalityConfigs[]

object (ModalityConfig)

Es opcional. Son los parámetros de configuración de la modalidad para el almacén de datos.

filterParameterBehavior

enum (FilterParameterBehavior)

Es opcional. Es el comportamiento del parámetro de filtro.

Campo de unión search_source. Define la fuente de búsqueda, ya sea un solo DataStore o un motor. search_source puede ser solo uno de los parámetros siguientes:
dataStoreSource

object (DataStoreSource)

Es opcional. Busca en un solo DataStore específico.

engineSource

object (EngineSource)

Es opcional. Busca dentro de un motor (potencialmente en varios almacenes de datos).

DataStoreSource

Representación JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Campos
filter

string

Es opcional. Especificación del filtro para el DataStore. Consulta: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Es opcional. El almacén de datos.

DataStore

Representación JSON
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
Campos
name

string

Obligatorio. Es el nombre completo del recurso del DataStore. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

Solo salida. Es el tipo de almacén de datos. Este campo es de solo lectura y lo completa el servidor.

documentProcessingMode

enum (DocumentProcessingMode)

Solo salida. Es el modo de procesamiento de documentos para la conexión del almacén de datos. Solo se establece para los almacenes de datos PUBLIC_WEB y UNSTRUCTURED.

displayName

string

Solo salida. Es el nombre visible del almacén de datos.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de cuando se creó el almacén de datos.

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

connectorConfig

object (ConnectorConfig)

Solo salida. Es la configuración del conector para la conexión del almacén de datos.

ConnectorConfig

Representación JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Campos
collection

string

Es el nombre del recurso de la colección a la que pertenece el almacén de datos.

collectionDisplayName

string

Es el nombre visible de la colección a la que pertenece el almacén de datos.

dataSource

string

Es el nombre de la fuente de datos. Por ejemplo: salesforce, jira, confluence, bigquery.

EngineSource

Representación JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
Campos
engine

string

Obligatorio. Es el nombre completo del recurso del motor. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

Es opcional. Se usa para segmentar almacenes de datos específicos dentro del motor. Si está vacío, la búsqueda se aplica a todos los almacenes de datos asociados con el motor.

filter

string

Es opcional. Es un filtro que se aplica a la búsqueda en todo el motor. No es relevante y no se usa si se proporciona "data_store_sources". Consulta: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

Representación JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
Campos
dataStores[]

string

Obligatorio. Es el almacén de datos en el que se aplica la configuración de aumento. Es el nombre completo del recurso del almacén de datos, como projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (BoostSpec)

Obligatorio. Es una lista de especificaciones de boosting.

BoostSpec

Representación JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Campos
conditionBoostSpecs[]

object (ConditionBoostSpec)

Obligatorio. Es una lista de especificaciones de boosting.

ConditionBoostSpec

Representación JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Campos
condition

string

Obligatorio. Es una expresión que especifica una condición de aumento. La sintaxis es la misma que la de la expresión de filtro. Actualmente, la única condición admitida es una lista de códigos de idioma BCP-47. Ejemplo: Para impulsar las sugerencias en los idiomas en o fr: (lang_code: ANY("en", "fr"))

boost

number

Es opcional. Es la intensidad del boosting, que debe estar en [-1, 1]. El boosting negativo significa un descenso de nivel. El valor predeterminado es 0.0.

Si se establece en 1.0, las sugerencias se promocionan de forma significativa. Sin embargo, esto no significa necesariamente que el primer resultado será una sugerencia con boosting.

Si se establece en -1.0, las sugerencias se descenderán de nivel de forma significativa. Sin embargo, es posible que se sigan mostrando otras sugerencias pertinentes.

Si se establece en 0.0, no se aplica ningún aumento. Se ignora la condición de mejora.

boostControlSpec

object (BoostControlSpec)

Es opcional. Especificación compleja para la clasificación personalizada basada en el valor del atributo definido por el cliente.

BoostControlSpec

Representación JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campos
fieldName

string

Es opcional. Es el nombre del campo cuyo valor se usará para determinar el importe de la mejora.

attributeType

enum (AttributeType)

Es opcional. Es el tipo de atributo que se usará para determinar el importe de la mejora. El valor del atributo se puede derivar del valor del campo field_name especificado. En el caso de los valores numéricos, es sencillo, es decir, attribute_value = numerical_field_value. Sin embargo, en el caso de la actualización, attribute_value = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Es opcional. Es el tipo de interpolación que se aplicará para conectar los puntos de control que se indican a continuación.

controlPoints[]

object (ControlPoint)

Es opcional. Son los puntos de control que se usan para definir la curva. La función monótona (definida a través del interpolation_type anterior) pasa por los puntos de control que se indican aquí.

ControlPoint

Representación JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

Es opcional. Puede ser una de las siguientes opciones: 1. Es el valor numérico del campo. 2. La especificación de duración para la actualización: El valor debe tener el formato de un valor XSD dayTimeDuration (un subconjunto restringido de un valor de duración ISO 8601). El patrón para esto es el siguiente: [nD][T[nH][nM][nS]].

boostAmount

number

Es opcional. Es el valor entre -1 y 1 por el que se aumentará la puntuación si el atributo attribute_value se evalúa con el valor especificado anteriormente.

ModalityConfig

Representación JSON
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "snippetsConfig": {
    object (SnippetsConfig)
  }
}
Campos
modalityType

enum (ModalityType)

Obligatorio. Es el tipo de modalidad.

rewriterConfig

object (RewriterConfig)

Es opcional. Es la configuración del reescritor.

summarizationConfig

object (SummarizationConfig)

Es opcional. Es la configuración de resumen.

groundingConfig

object (GroundingConfig)

Es opcional. Es la configuración de la fundamentación.

snippetsConfig

object (SnippetsConfig)

Es opcional. Es la configuración de los fragmentos.

RewriterConfig

Representación JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Obligatorio. Son los parámetros de configuración del modelo de LLM.

prompt

string

Es opcional. La definición de la instrucción. Si no se establece, se usará la instrucción predeterminada.

disabled

boolean

Es opcional. Indica si el reescritor está inhabilitado.

SummarizationConfig

Representación JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Es opcional. Son los parámetros de configuración del modelo de LLM.

prompt

string

Es opcional. La definición de la instrucción. Si no se establece, se usará la instrucción predeterminada.

disabled

boolean

Es opcional. Indica si el resumen está inhabilitado.

GroundingConfig

Representación JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Campos
groundingLevel

number

Es opcional. Es el umbral de fundamentación de la respuesta según las fuentes recuperadas. El valor tiene un rango configurable de [1, 5]. El nivel se usa para establecer un umbral de fundamentación de la respuesta, lo que significa que todas las respuestas con una puntuación de fundamentación inferior al umbral volverán a mostrar solo fragmentos relevantes.

Por ejemplo, un nivel de 3 significa que la puntuación de fundamentación debe ser de 3 o más para que se devuelva la respuesta.

disabled

boolean

Es opcional. Indica si la fundamentación está inhabilitada.

SnippetsConfig

Representación JSON
{
  "enableSnippets": boolean,
  "maxSnippets": integer
}
Campos
enableSnippets

boolean

Es opcional. Indica si los fragmentos están habilitados.

maxSnippets

integer

Es opcional. Es la cantidad de fragmentos que se devolverán por consulta. Si no se establece, devuelve todos los fragmentos del servicio de forma predeterminada.

PythonFunction

Representación JSON
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Campos
name

string

Es opcional. Es el nombre de la función de Python que se ejecutará. Debe coincidir con el nombre de una función de Python definida en el código de Python. Distingue mayúsculas de minúsculas. Si no se proporciona el nombre, se usará la primera función definida en el código de Python.

pythonCode

string

Es opcional. Es el código de Python que se ejecutará para la herramienta.

description

string

Solo salida. Es la descripción de la función de Python, analizada a partir de la cadena de documentación del código de Python.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Es la configuración del Directorio de servicios para la herramienta.

McpTool

Representación JSON
{
  "name": string,
  "nameOverride": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "state": enum (State)
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta de MCP.

nameOverride

string

Es opcional. Es la anulación del nombre de la herramienta de MCP. Este campo se completa si el nombre se anuló con una anulación de Toolset.

description

string

Es opcional. La descripción de la herramienta de MCP.

inputSchema

object (Schema)

Es opcional. Es el esquema de los argumentos de entrada de la herramienta de MCP.

outputSchema

object (Schema)

Es opcional. Es el esquema de los argumentos de salida de la herramienta de MCP.

serverAddress

string

Obligatorio. La dirección del servidor de MCP, p.ej., "https://example.com/mcp/". Si el servidor se compila con el SDK de MCP, la URL debe tener el sufijo "/mcp/". Solo se admiten servidores basados en el transporte de HTTP transmitible. Es igual a server_address en McpToolset. Consulta https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http para obtener más detalles.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la información de autenticación necesaria para ejecutar la herramienta en el servidor de MCP. En el caso de la autenticación con token del portador, el token solo se aplica a la ejecución de herramientas, no a la lista de herramientas. Esto requiere que las herramientas se puedan enumerar sin autenticación.

tlsConfig

object (TlsConfig)

Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que el cliente debe confiar.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Configuración del Directorio de servicios para VPC-SC, que se usa para resolver nombres de servicios dentro de un perímetro.

customHeaders

map (key: string, value: string)

Es opcional. Son los encabezados personalizados que se enviarán en la solicitud al servidor de MCP. Los valores deben tener el formato $context.variables.<name_of_variable> y se pueden establecer en las variables de sesión. Consulta https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection para obtener más detalles.

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

state

enum (State)

Solo salida. Es el estado de disponibilidad dinámica de la herramienta en el servidor externo.

CustomHeadersEntry

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

string

value

string

FileSearchTool

Representación JSON
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Campos
corpusType

enum (CorpusType)

Es opcional. Es el tipo de corpus. El valor predeterminado es FULLY_MANAGED.

name

string

Obligatorio. Es el nombre de la herramienta.

description

string

Es opcional. Es la descripción de la herramienta.

fileCorpus

string

Es opcional. Es el corpus en el que se almacenan los archivos. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

Representación JSON
{
  "name": string,
  "description": string
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta del sistema.

description

string

Solo salida. Es la descripción de la herramienta del sistema.

AgentTool

Representación JSON
{
  "name": string,
  "description": string,
  "agent": string
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta del agente.

description

string

Es opcional. Descripción del propósito de la herramienta.

agent

string

Es opcional. Es el nombre del recurso del agente que es el punto de entrada de la herramienta. Formato: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Representación JSON
{
  "name": string,
  "description": string,
  "widgetType": enum (WidgetType),
  "uiConfig": {
    object
  },
  "dataMapping": {
    object (DataMapping)
  },
  "textResponseConfig": {
    object (TextResponseConfig)
  },

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

string

Obligatorio. Es el nombre visible de la herramienta de widget.

description

string

Es opcional. Es la descripción de la herramienta de widget.

widgetType

enum (WidgetType)

Es opcional. Es el tipo de herramienta de widget. Si no se especifica, el tipo predeterminado será CUSTOMIZED.

uiConfig

object (Struct format)

Es opcional. Es la configuración para renderizar el widget.

dataMapping

object (DataMapping)

Es opcional. La asignación que define cómo se asignan los datos de una herramienta de origen a los parámetros de entrada del widget.

textResponseConfig

object (TextResponseConfig)

Es opcional. Es la configuración de las respuestas de texto que siempre se incluyen.

Campo de unión input. La entrada de la herramienta de widget. input puede ser solo uno de los parámetros siguientes:
parameters

object (Schema)

Es opcional. Son los parámetros de entrada de la herramienta de widget.

DataMapping

Representación JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (Mode),
  "pythonScript": string
}
Campos
sourceToolName

string

Es opcional. Es el nombre del recurso de la herramienta que proporciona los datos para el widget (p.ej., una herramienta de búsqueda o una función personalizada). Formato: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Es opcional. Es un mapa de los campos de parámetros de entrada del widget a los campos de salida correspondientes de la herramienta de origen.

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

pythonFunction

object (PythonFunction)

Es opcional. Es la configuración de una función de Python que se usa para transformar el resultado de la herramienta de origen en el formato de entrada del widget.

mode

enum (Mode)

Es opcional. Es el modo de la asignación de datos.

pythonScript
(deprecated)

string

Obsoleto: Usa python_function en su lugar.

FieldMappingsEntry

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

string

value

string

TextResponseConfig

Representación JSON
{
  "type": enum (Type),
  "staticText": string,
  "textResponseInstruction": string
}
Campos
type

enum (Type)

Es opcional. Es la estrategia para proporcionar la respuesta de texto.

staticText

string

Es opcional. Es la respuesta de texto estática que se devuelve cuando el tipo es STATIC.

textResponseInstruction

string

Es opcional. Es la instrucción para el LLM sobre cómo generar la respuesta de texto. Se usa como la descripción del parámetro de respuesta de texto si el tipo es LLM_GENERATED.

RemoteAgentTool

Representación JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  },
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "statefulAgent": boolean,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  }
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta.

description

string

Obligatorio. Es la descripción de la herramienta.

agentCard

object (AgentCard)

Obligatorio. La tarjeta del agente remoto que invoca esta herramienta.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la configuración de autenticación para llamar al agente remoto.

statefulAgent

boolean

Es opcional. Cuando se habilita, la interacción entre la app de CXAS y el agente remoto compartirá el mismo contexto. Si el agente remoto devuelve un context_id, este se conservará durante toda la sesión de esta herramienta de agente remoto.

inputVariableMapping

map (key: string, value: string)

Es opcional. Asignación de nombres de variables de entrada del agente remoto a nombres de 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. Asignación de nombres de variables de salida del agente remoto a nombres de variables de GECX.

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

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

ToolFakeConfig

Representación JSON
{
  "enableFakeMode": boolean,

  // Union field tool_response can be only one of the following:
  "codeBlock": {
    object (CodeBlock)
  }
  // End of list of possible types for union field tool_response.
}
Campos
enableFakeMode

boolean

Es opcional. Indica si la herramienta usa el modo falso.

Campo de unión tool_response. La respuesta es estática o la proporciona una función de Python. tool_response puede ser solo uno de los parámetros siguientes:
codeBlock

object (CodeBlock)

Es opcional. Bloque de código que se ejecutará en lugar de una llamada a la herramienta real.

CodeBlock

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

string

Obligatorio. Código de Python que se invocará en el modo de simulación de la herramienta. Firma de función de Python esperada - Para detectar todas las llamadas a la herramienta: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Para detectar una llamada a la herramienta específica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Si la función devuelve None, se invocará la herramienta real.

Ejemplo

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "entryAgent": string,
  "messages": [
    {
      object (Message)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "invalid": boolean,
  "etag": string
}
Campos
name

string

Es el identificador. Es el identificador único del ejemplo. Formato: projects/{project}/locations/{location}/apps/{app}/examples/{example}

displayName

string

Obligatorio. Es el nombre visible del ejemplo.

description

string

Es opcional. Descripción legible por humanos del ejemplo.

entryAgent

string

Es opcional. Es el agente que maneja la conversación inicialmente. Si no se especifica, el ejemplo representa una conversación que controla el agente raíz. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

messages[]

object (Message)

Es opcional. Es la colección de mensajes que conforman la conversación.

createTime

string (Timestamp format)

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

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. Marca de tiempo de la última actualización del ejemplo.

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

invalid

boolean

Solo salida. El ejemplo puede dejar de ser válido si se borran los recursos de referencia. Los ejemplos no válidos no se usarán como ejemplos de aprendizaje con pocos ejemplos.

etag

string

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

Mensaje

Representación JSON
{
  "role": string,
  "chunks": [
    {
      object (Chunk)
    }
  ],
  "eventTime": string
}
Campos
role

string

Es opcional. Es el rol dentro de la conversación, p.ej., usuario, agente.

chunks[]

object (Chunk)

Es opcional. Es el contenido del mensaje como una serie de fragmentos.

eventTime

string (Timestamp format)

Es opcional. Es la marca de tiempo del momento en que se envió o recibió el mensaje. No se debe usar si el mensaje forma parte de un example.

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

Bandinsecto

Representación JSON
{

  // Union field data can be only one of the following:
  "text": string,
  "transcript": string,
  "blob": {
    object (Blob)
  },
  "payload": {
    object
  },
  "image": {
    object (Image)
  },
  "toolCall": {
    object (ToolCall)
  },
  "toolResponse": {
    object (ToolResponse)
  },
  "agentTransfer": {
    object (AgentTransfer)
  },
  "updatedVariables": {
    object
  },
  "defaultVariables": {
    object
  }
  // End of list of possible types for union field data.
}
Campos
Campo de unión data. Datos de fragmentos data puede ser solo uno de los parámetros siguientes:
text

string

Es opcional. Datos de texto.

transcript

string

Es opcional. Es la transcripción asociada al audio.

blob

object (Blob)

Es opcional. Datos de BLOB.

payload

object (Struct format)

Es opcional. Datos de carga útil personalizados.

image

object (Image)

Es opcional. Son los datos de la imagen.

toolCall

object (ToolCall)

Es opcional. Es la solicitud de ejecución de la herramienta.

toolResponse

object (ToolResponse)

Es opcional. Es la respuesta de la ejecución de la herramienta.

agentTransfer

object (AgentTransfer)

Es opcional. Evento de transferencia de agente.

updatedVariables

object (Struct format)

Un struct representa las variables que se actualizaron en la conversación, con clave por nombres de variables.

defaultVariables

object (Struct format)

Un struct representa las variables predeterminadas al inicio de la conversación, con clave por nombres de variables.

BLOB

Representación JSON
{
  "mimeType": string,
  "data": string
}
Campos
mimeType

string

Obligatorio. Es el tipo de MIME estándar de IANA de los datos de origen.

data

string (bytes format)

Obligatorio. Son los bytes sin procesar del BLOB.

Es una cadena codificada en Base64.

Imagen

Representación JSON
{
  "mimeType": string,
  "data": string,
  "altText": string
}
Campos
mimeType

string

Obligatorio. Es el tipo de MIME estándar de IANA de los datos de origen. Los tipos de imágenes compatibles incluyen los siguientes: * image/png * image/jpeg * image/webp

data

string (bytes format)

Obligatorio. Son los bytes sin procesar de la imagen.

Es una cadena codificada en Base64.

altText

string

Es opcional. Es el texto alternativo de la imagen.

ToolCall

Representación JSON
{
  "id": string,
  "displayName": string,
  "args": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,
  "targetApp": string,

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
Campos
id

string

Es opcional. Es el identificador único de la llamada a la herramienta. Si se completa, el cliente debe devolver el resultado de la ejecución con el ID para coincidencias en ToolResponse.

displayName

string

Solo salida. Es el nombre visible de la herramienta.

args

object (Struct format)

Es opcional. Son los parámetros y valores de entrada de la herramienta en formato de objeto JSON.

parentToolCallId

string

Solo salida. Es el ID de la llamada a la herramienta que causó esta, cuando la emitió un agente secundario que trabaja en nombre de una llamada superior. Está vacío para las llamadas de nivel superior. Permite que un cliente agrupe el trabajo de un agente secundario en la llamada que lo inició, en lugar de renderizar cada paso como un elemento hermano.

agentName

string

Solo salida. Nombre legible por humanos del agente que emitió esta llamada, p.ej., "Arquitecto de contratos". Está vacío cuando lo emite el agente raíz.

targetApp

string

Solo salida. La app a la que se dirige esta llamada, derivada por el asistente a partir de los argumentos de recursos de la llamada: un nombre de recurso de app, PROJECT para las herramientas con alcance de ubicación o vacío para las herramientas locales de la sesión. Se establece solo en las sesiones de asistente con alcance de proyecto.

Campo de unión tool_identifier. Es el identificador de la herramienta que se ejecutará. Puede ser una herramienta persistente o una herramienta de un conjunto de herramientas. tool_identifier puede ser solo uno de los parámetros siguientes:
tool

string

Es opcional. Es el nombre de la herramienta que se ejecutará. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Es opcional. Es la herramienta del conjunto de herramientas que se ejecutará.

ToolsetTool

Representación JSON
{
  "toolset": string,
  "toolId": string
}
Campos
toolset

string

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

toolId

string

Es opcional. Es el ID de la herramienta para filtrar las herramientas de las que se recuperará el esquema.

ToolResponse

Representación JSON
{
  "id": string,
  "displayName": string,
  "response": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,
  "targetApp": string,

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
Campos
id

string

Es opcional. Es el ID para coincidencias del tool call al que corresponde la respuesta.

displayName

string

Solo salida. Es el nombre visible de la herramienta.

response

object (Struct format)

Obligatorio. Es el resultado de la ejecución de la herramienta en formato de objeto JSON. Usa la clave "output" para especificar la respuesta de la herramienta y la clave "error" para especificar los detalles del error (si los hay). Si no se especifican las claves "output" y "error", toda la "response" se trata como el resultado de la ejecución de la herramienta.

parentToolCallId

string

Solo salida. Es el ID de la llamada a la herramienta que causó esta, cuando la emitió un agente secundario que trabaja en nombre de una llamada superior. Está vacío para las llamadas de nivel superior. Permite que un cliente agrupe el trabajo de un agente secundario en la llamada que lo inició, en lugar de renderizar cada paso como un elemento hermano.

agentName

string

Solo salida. Nombre legible por humanos del agente que emitió esta llamada, p.ej., "Arquitecto de contratos". Está vacío cuando lo emite el agente raíz.

targetApp

string

Solo salida. Es la app a la que se orientó la herramienta ejecutada; refleja ToolCall.target_app.

Campo de unión tool_identifier. Es el identificador de la herramienta que se ejecutó. Puede ser una herramienta persistente o una herramienta de un conjunto de herramientas. tool_identifier puede ser solo uno de los parámetros siguientes:
tool

string

Es opcional. Es el nombre de la herramienta que se ejecutará. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Es opcional. Es la herramienta del conjunto de herramientas que se ejecutó.

AgentTransfer

Representación JSON
{
  "targetAgent": string,
  "displayName": string
}
Campos
targetAgent

string

Obligatorio. Es el agente al que se transfiere la conversación. El agente se encargará de la conversación a partir de este punto. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

Solo salida. Es el nombre visible del agente.

Barrera de protección

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
Campos
name

string

Es el identificador. Es el identificador único de la barandilla de seguridad. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Obligatorio. Es el nombre visible de la barandilla.

description

string

Es opcional. Descripción de la barrera de seguridad.

enabled

boolean

Es opcional. Indica si la barandilla está habilitada.

action

object (TriggerAction)

Es opcional. Es la acción que se debe realizar cuando se activa la barrera de protección.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la creación de la barandilla de seguridad.

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. Marca de tiempo de la última actualización de la barandilla.

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

etag

string

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

Campo de unión guardrail_type. Es el tipo de barrera de seguridad. guardrail_type puede ser solo uno de los parámetros siguientes:
contentFilter

object (ContentFilter)

Es opcional. Es una barrera que prohíbe que se use cierto contenido en la conversación.

llmPromptSecurity

object (LlmPromptSecurity)

Es opcional. Es una protección que bloquea la conversación si la instrucción se considera no segura según la clasificación del LLM.

llmPolicy

object (LlmPolicy)

Es opcional. Es la barrera que bloquea la conversación si se considera que la respuesta del LLM incumple la política según la clasificación del LLM.

modelSafety

object (ModelSafety)

Es opcional. Es una protección que bloquea la conversación si la respuesta del LLM se considera no segura según la configuración de seguridad del modelo.

codeCallback

object (CodeCallback)

Es opcional. Es una barrera de protección que puede bloquear la conversación según el resultado de la ejecución de la devolución de llamada.

supervisor

object (Supervisor)

Es opcional. Es la protección que ejecuta la intervención del supervisor.

ContentFilter

Representación JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean,
  "sensitiveWordsExemptions": [
    string
  ]
}
Campos
bannedContents[]

string

Es opcional. Lista de frases prohibidas. Se aplica tanto a las entradas del usuario como a las respuestas del agente.

bannedContentsInUserInput[]

string

Es opcional. Lista de frases prohibidas. Solo se aplica a las entradas de los usuarios.

bannedContentsInAgentResponse[]

string

Es opcional. Lista de frases prohibidas. Solo se aplica a las respuestas del agente.

matchType

enum (MatchType)

Obligatorio. Es el tipo de concordancia del filtro de contenido.

disregardDiacritics

boolean

Es opcional. Si es verdadero, se ignoran los signos diacríticos durante la coincidencia.

sensitiveWordsExemptions[]

string

Es opcional. Son las entradas de la lista de palabras sensibles que permite esta barandilla de seguridad. Solo es válido cuando match_type es SENSITIVE_WORDS. Cada valor debe ser igual a una entrada de la lista (no distingue mayúsculas de minúsculas, se ignoran los espacios en blanco circundantes); los demás valores no tienen efecto. Se aplica solo a esta barandilla de seguridad. Un máximo de 1,000 entradas de hasta 256 caracteres cada una.

LlmPromptSecurity

Representación JSON
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
Campos
failOpen

boolean

Es opcional. Determina el comportamiento cuando la barrera de seguridad encuentra un error de LLM. - Si es verdadero, se omite la barrera de protección. - Si es falso (predeterminado), la barandilla se activa o bloquea.

Nota: Si se proporciona una política personalizada, este campo se ignora en favor de la configuración "fail_open" de la política.

Campo de unión security_config. Define el modo de configuración de seguridad. El usuario debe elegir una de las siguientes opciones de configuración. security_config puede ser solo uno de los parámetros siguientes:
defaultSettings

object (DefaultSecuritySettings)

Es opcional. Usa la configuración de seguridad predeterminada del sistema. Para seleccionar este modo, incluye un mensaje "default_settings" vacío en la solicitud. El servidor completará el campo "default_prompt_template" en la respuesta.

customPolicy

object (LlmPolicy)

Es opcional. Usa una LlmPolicy definida por el usuario para configurar la barrera de seguridad.

DefaultSecuritySettings

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

string

Solo salida. Es la plantilla de instrucciones predeterminada que usa el sistema. Este campo tiene fines de visualización para mostrarle al usuario qué instrucción usa el sistema de forma predeterminada. Es OUTPUT_ONLY.

LlmPolicy

Representación JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Campos
maxConversationMessages

integer

Es opcional. Cuando verifiques esta política, considera los últimos "n" mensajes de la conversación. Si no se establece, se usará un valor predeterminado de 10.

modelSettings

object (ModelSettings)

Es opcional. Configuración del modelo

prompt

string

Obligatorio. Mensaje de política. Admite marcadores de posición de variables de sesión ({var}), así como {agent_system_instruction} para insertar las instrucciones del sistema resueltas del agente.

policyScope

enum (PolicyScope)

Obligatorio. Define cuándo aplicar la verificación de la política durante la conversación. Si se establece en POLICY_SCOPE_UNSPECIFIED, la política se aplicará a la entrada del usuario. Cuando se aplique la política a la respuesta del agente, se introducirá una latencia adicional antes de que el agente pueda responder.

failOpen

boolean

Es opcional. Si se produce un error durante la verificación de la política, se produce un error de apertura y no se activa la barandilla.

allowShortUtterance

boolean

Es opcional. De forma predeterminada, la verificación de la política de LLM se omite para las expresiones cortas. Si habilitas este parámetro de configuración, se aplicará la verificación de políticas a todas las expresiones, incluidas las que normalmente se omitirían.

ModelSafety

Representación JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Campos
safetySettings[]

object (SafetySetting)

Obligatorio. Lista de parámetros de configuración de seguridad.

SafetySetting

Representación JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Campos
category

enum (HarmCategory)

Obligatorio. La categoría de daño.

threshold

enum (HarmBlockThreshold)

Obligatorio. El umbral de bloqueo de daño.

CodeCallback

Representación JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Campos
beforeAgentCallback

object (Callback)

Es opcional. Es la devolución de llamada que se ejecutará antes de que se llame al agente. Se espera que cada función de devolución de llamada devuelva una estructura (p.ej., un diccionario o un objeto) que contenga, al menos, lo siguiente: - 'decision': 'OK' o 'TRIGGER'. - "reason": Una cadena que explica la decisión. Una decisión de "ACTIVACIÓN" puede detener el procesamiento posterior.

afterAgentCallback

object (Callback)

Es opcional. Es la devolución de llamada que se ejecutará después de que se llame al agente. Se espera que cada función de devolución de llamada devuelva una estructura (p.ej., un diccionario o un objeto) que contenga, al menos, lo siguiente: - 'decision': 'OK' o 'TRIGGER'. - "reason": Una cadena que explica la decisión. Una decisión de "ACTIVACIÓN" puede detener el procesamiento posterior.

beforeModelCallback

object (Callback)

Es opcional. Es la devolución de llamada que se ejecutará antes de que se llame al modelo. Si hay varias llamadas al modelo, la devolución de llamada se ejecutará varias veces. Se espera que cada función de devolución de llamada devuelva una estructura (p.ej., un diccionario o un objeto) que contenga, al menos, lo siguiente: - 'decision': 'OK' o 'TRIGGER'. - "reason": Una cadena que explica la decisión. Una decisión de "ACTIVACIÓN" puede detener el procesamiento posterior.

afterModelCallback

object (Callback)

Es opcional. Es la devolución de llamada que se ejecutará después de que se llame al modelo. Si hay varias llamadas al modelo, la devolución de llamada se ejecutará varias veces. Se espera que cada función de devolución de llamada devuelva una estructura (p.ej., un diccionario o un objeto) que contenga, al menos, lo siguiente: - 'decision': 'OK' o 'TRIGGER'. - "reason": Una cadena que explica la decisión. Una decisión de "ACTIVACIÓN" puede detener el procesamiento posterior.

Supervisor

Representación JSON
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
Campos
type

enum (Type)

Es opcional. Es el tipo de supervisor.

detectionMode

enum (DetectionMode)

Es opcional. Es el modo de detección del supervisor.

TriggerAction

Representación JSON
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
Campos
Campo de unión action. La acción por realizar. action puede ser solo uno de los parámetros siguientes:
respondImmediately

object (RespondImmediately)

Es opcional. Responde de inmediato con una respuesta preconfigurada.

transferAgent

object (TransferAgent)

Es opcional. Transferir la conversación a otro agente

generativeAnswer

object (GenerativeAnswer)

Es opcional. Responder con una respuesta generativa

RespondImmediately

Representación JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Campos
responses[]

object (Response)

Obligatorio. Son las respuestas estándares entre las que puede elegir el agente. La respuesta se elige de forma aleatoria.

Respuesta

Representación JSON
{
  "text": string,
  "disabled": boolean
}
Campos
text

string

Obligatorio. Es el texto con el que debe responder el agente.

disabled

boolean

Es opcional. Indica si la respuesta está inhabilitada. El agente no usa las respuestas inhabilitadas.

TransferAgent

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

string

Obligatorio. Es el nombre del agente al que se transferirá la conversación. El agente debe estar en la misma app que el agente actual. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

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

string

Obligatorio. Es la instrucción que se usará para la respuesta generativa.

Conjunto de herramientas

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionType": enum (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
Campos
name

string

Es el identificador. Es el identificador único del conjunto de herramientas. Formato: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

Es opcional. Es el nombre visible del conjunto de herramientas. Debe ser único dentro de la misma app.

description

string

Es opcional. Es la descripción del conjunto de herramientas.

timeout

string (Duration format)

Es opcional. Es el tiempo de espera para la ejecución del conjunto de herramientas. Si no se establece, el tiempo de espera predeterminado es de 30 segundos para los conjuntos de herramientas de SYNCHRONOUS y de 60 segundos para los de ASYNCHRONOUS.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

createTime

string (Timestamp format)

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

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. Marca de tiempo de la última actualización del conjunto de herramientas.

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

etag

string

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

executionType

enum (ExecutionType)

Es opcional. Es el tipo de ejecución de las herramientas del conjunto de herramientas.

toolFakeConfig

object (ToolFakeConfig)

Es opcional. Configuración del comportamiento de las herramientas en el modo falso.

Campo de unión toolset_type. Es el tipo de conjunto de herramientas. toolset_type puede ser solo uno de los parámetros siguientes:
mcpToolset

object (McpToolset)

Es opcional. Es un conjunto de herramientas que contiene una lista de herramientas que ofrece el servidor de MCP.

openApiToolset

object (OpenApiToolset)

Es opcional. Un conjunto de herramientas que contiene una lista de herramientas definidas por un esquema de OpenAPI.

connectorToolset

object (ConnectorToolset)

Es opcional. Es un conjunto de herramientas que genera herramientas a partir de una conexión de Integration Connectors.

McpToolset

Representación JSON
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
Campos
serverAddress

string

Obligatorio. La dirección del servidor de MCP, por ejemplo, "https://example.com/mcp/". Si el servidor se compila con el SDK de MCP, la URL debe tener el sufijo "/mcp/". Solo se admiten servidores basados en el transporte de HTTP transmitible. Consulta https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http para obtener más detalles.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la información de autenticación necesaria para acceder a las herramientas y ejecutarlas en el servidor de MCP. En el caso de la autenticación con token del portador, el token solo se aplica a la ejecución de herramientas, no a la lista de herramientas. Esto requiere que las herramientas se puedan enumerar sin autenticación.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Configuración del Directorio de servicios para VPC-SC, que se usa para resolver nombres de servicios dentro de un perímetro.

tlsConfig

object (TlsConfig)

Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que el cliente debe confiar.

customHeaders

map (key: string, value: string)

Es opcional. Son los encabezados personalizados que se enviarán en la solicitud al servidor de MCP. Los valores deben tener el formato $context.variables.<name_of_variable> y se pueden establecer en las variables de sesión. Consulta https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection para obtener más detalles.

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

toolOverrides[]

object (McpToolOverride)

Es opcional. Anulaciones para herramientas individuales dentro de este conjunto de herramientas. Esto permite anular detalles específicos, como descripciones o nombres, o fijar los estados de las herramientas para que no sean completamente dinámicos.

CustomHeadersEntry

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

string

value

string

McpToolOverride

Representación JSON
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
Campos
tool

string

Obligatorio. Es el nombre original de la herramienta tal como lo emite el servidor de MCP.

nameOverride

string

Es opcional. Si está presente, la herramienta usa este nombre en el agente en lugar del nombre original. Esto se usa principalmente como un alias si el servidor de MCP ofrece herramientas con nombres poco claros.

descriptionOverride

string

Es opcional. Si está presente, la herramienta usa esta descripción en lugar de la original del servidor.

snapshot

object (McpToolDefinition)

Solo salida. Si está presente, esta herramienta se "fija" y usa los valores de la instantánea como resguardos si el servidor deja de estar disponible temporalmente o si no hay ninguna anulación presente.

McpToolDefinition

Representación JSON
{
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  }
}
Campos
description

string

Solo salida. La descripción de la herramienta de MCP. Esto se puede anular con description_override en McpToolOverride.

inputSchema

object (Schema)

Solo salida. Es el esquema de los argumentos de entrada de la herramienta de MCP.

outputSchema

object (Schema)

Solo salida. Es el esquema de los argumentos de salida de la herramienta de MCP.

OpenApiToolset

Representación JSON
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Campos
openApiSchema

string

Obligatorio. Es el esquema de OpenAPI del conjunto de herramientas.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la información de autenticación que requiere la API.

tlsConfig

object (TlsConfig)

Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Configuración del Directorio de servicios.

ignoreUnknownFields

boolean

Es opcional. Si es verdadero, el agente ignorará los campos desconocidos en la respuesta de la API para todas las operaciones definidas en el esquema de OpenAPI.

url

string

Es opcional. Es la URL del servidor del esquema de OpenAPI. Este campo solo se establece en los conjuntos de herramientas de las dependencias del entorno durante el proceso de exportación si el esquema contiene una URL de servidor. Durante el proceso de importación, si esta URL está presente en las dependencias del entorno y el esquema tiene el marcador de posición $env_var, se reemplazará el marcador de posición en el esquema.

ConnectorToolset

Representación JSON
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
Campos
connection

string

Obligatorio. Es el nombre completo del recurso de la conexión de Integration Connectors a la que se hace referencia. Formato: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

Es opcional. Configura cómo se controla la autenticación en Integration Connectors. De forma predeterminada, se pasa una autenticación de administrador en las solicitudes a la API de Integration Connectors. Puedes anularla con una configuración de autenticación de usuario final diferente. Nota: La conexión debe tener habilitada la anulación de la autenticación para especificar una configuración de EUC aquí; de lo contrario, fallará la creación del conjunto de herramientas. Consulta: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override

connectorActions[]

object (Action)

Obligatorio. Es la lista de acciones del conector o de operaciones de entidad para las que se generarán herramientas.

PrebuiltAmbientNoise

Ruido ambiental precompilado.

Enums
PREBUILT_AMBIENT_NOISE_UNSPECIFIED No especificado.
RETAIL_STORE Ruido ambiental de una tienda minorista.
CONVENTION_HALL Ruido ambiental de una sala de convenciones.
OUTDOOR Ruido ambiental de una calle.

WarningType

Es el tipo de advertencia que se encontró durante el procesamiento de la muestra de voz.

Enums
WARNING_TYPE_UNSPECIFIED Indica que no se especificó el tipo de advertencia.
LOW_AUDIO_LEVEL El nivel de audio de la muestra de voz es demasiado bajo (p.ej., amplitud RMS baja).

VoiceInstructionMode

Es el modo de instrucción para la muestra de voz.

Enums
VOICE_INSTRUCTION_MODE_UNSPECIFIED Indica que no se especificó el modo de instrucción. La configuración predeterminada es NO_INSTRUCTION.
NO_INSTRUCTION No se usarán instrucciones por voz.
GENERATE_INSTRUCTION La IA generará automáticamente la instrucción de voz a partir de la muestra de audio.
CUSTOM_INSTRUCTION Instrucción de voz personalizada que proporciona el usuario.

ErrorHandlingStrategy

Define la estrategia para controlar errores.

Enums
ERROR_HANDLING_STRATEGY_UNSPECIFIED Estrategia de manejo de errores no especificada.
NONE No se habilita ningún control específico.
FALLBACK_RESPONSE Se devolverá un mensaje de resguardo al usuario en caso de que se produzcan errores del sistema (p.ej., errores del LLM).
END_SESSION Se emitirá un indicador EndSession en caso de errores del sistema (p.ej., errores del LLM).

ThinkingLevel

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

Enums
THINKING_LEVEL_UNSPECIFIED No se especificó el nivel de pensamiento.
DEFAULT Nivel de razonamiento predeterminado.
LOW Nivel de razonamiento bajo.
MEDIUM Nivel de razonamiento medio.
HIGH Nivel de razonamiento alto.

ToolExecutionMode

Define el comportamiento de ejecución de las herramientas si el agente selecciona varias herramientas al mismo tiempo.

Enums
TOOL_EXECUTION_MODE_UNSPECIFIED Modo de ejecución de la herramienta no especificado. El valor predeterminado es PARALLEL.
PARALLEL Si se seleccionan varias herramientas, se ejecutarán en paralelo, con el mismo ToolContext.
SEQUENTIAL Si se seleccionan varias herramientas, se ejecutarán de forma secuencial. La siguiente herramienta solo se ejecutará después de que se complete la anterior y pueda ver el ToolContext actualizado de la herramienta anterior.

SemanticSimilarityChannel

Es el canal de similitud semántica que se usará.

Enums
SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED Métrica sin especificar. La configuración predeterminada es TEXT.
TEXT Usa la similitud semántica de texto.
AUDIO Usa la similitud semántica de audio.

ExtraToolCallBehavior

Define el comportamiento cuando se encuentra una llamada a la herramienta adicional. Una llamada a la herramienta adicional es una llamada a la herramienta que está presente en la ejecución, pero que no coincide con ninguna llamada a la herramienta en la expectativa de referencia.

Enums
EXTRA_TOOL_CALL_BEHAVIOR_UNSPECIFIED Comportamiento no especificado. La configuración predeterminada es FAIL.
FAIL Falla la evaluación si se encuentra una llamada a la herramienta adicional.
ALLOW Permitir la llamada a la herramienta adicional.

HallucinationMetricBehavior

El comportamiento de la métrica de alucinación. Independientemente del comportamiento, la métrica siempre se calculará. La diferencia es que, cuando se inhabilita, la métrica no se usa para calcular la puntuación de evaluación general.

Enums
HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED Comportamiento de la métrica de alucinación no especificado.
DISABLED Inhabilitar la métrica de alucinación.
ENABLED Habilita la métrica de alucinación.

Tipo

Tipos de datos de OpenAPI.

Enums
TYPE_UNSPECIFIED Indica un tipo no especificado.
STRING Tipo de cadena.
INTEGER Tipo de número entero.
NUMBER Tipo de número.
BOOLEAN Tipo booleano.
OBJECT Es el tipo de objeto.
ARRAY Es el tipo de array.

NullValue

Representa un null JSON.

NullValue es un centinela que usa una enumeración con un solo valor para representar el valor nulo de la unión de tipos Value.

Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, por lo que se realizará un recorrido de ida y vuelta a un valor 0.

Enums
NULL_VALUE Valor nulo.

Tipo

Es el tipo de motor. Consulta la documentación disponible en https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/SolutionType y https://cloud.google.com/generative-ai-app-builder/docs/create-datastore-ingest.

Enums
TYPE_UNSPECIFIED Indica que no se especificó el tipo de motor.
ENGINE_TYPE_CHAT Es el tipo de motor de chat. Es el motor SOLUTION_TYPE_CHAT de la app. Todos los almacenes de datos del conector que se agreguen a la app se agregarán a este motor.

ChannelType

Es el tipo de perfil del canal.

Enums
UNKNOWN Tipo de canal desconocido.
WEB_UI Canal de IU web.
API Canal de la API
TWILIO Canal de Twilio.
GOOGLE_TELEPHONY_PLATFORM Canal de la plataforma de telefonía de Google.
CONTACT_CENTER_AS_A_SERVICE Canal de centro de contacto como servicio (CCaaS).
CONTACT_CENTER_AS_A_SERVICE_CHAT Canal de centro de contacto como servicio (chat de CCaaS).
FIVE9 Canal de Five9.
CONTACT_CENTER_INTEGRATION Canal de integración de centros de contacto de terceros.
WHATSAPP Canal de WhatsApp
INSTAGRAM Canal de Instagram

Personificación

La personalidad del canal

Enums
UNKNOWN Persona DESCONOCIDA.
CONCISE El agente mantiene las respuestas concisas y directas.
CHATTY El agente proporciona contexto, explicaciones y detalles adicionales.

Modalidad

Es la modalidad del widget web.

Enums
MODALITY_UNSPECIFIED Modalidad desconocida.
CHAT_AND_VOICE El widget admite la entrada de chat y voz.
VOICE_ONLY El widget solo admite la entrada de voz.
CHAT_ONLY El widget solo admite la entrada de chat.
CHAT_VOICE_AND_VIDEO El widget admite entradas de chat, voz y video.

Tema

Es el tema del widget web.

Enums
THEME_UNSPECIFIED Tema desconocido.
LIGHT Tema claro.
DARK Tema oscuro

RequestLocation

La 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. La configuración predeterminada es CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Representa el flujo de credenciales de cliente.

Dirección

La dirección de la transferencia.

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

OperationType

Es la operación que se realizará en la entidad.

Enums
OPERATION_TYPE_UNSPECIFIED No se especificó el tipo de operación. No es válido, por lo que fallará la creación o actualización de ConnectorTool.
LIST Operación de lista.
GET Obtener operación.
CREATE Crea una operación.
UPDATE Operación de actualización.
DELETE Borra la operación.

DataStoreType

Es el tipo de almacén de datos.

Enums
DATA_STORE_TYPE_UNSPECIFIED No especificado. Este valor indica que no se especificó el tipo de almacén de datos, por lo que no se usará durante la búsqueda.
PUBLIC_WEB Un almacén de datos que contiene contenido web público.
UNSTRUCTURED Un almacén de datos que contiene datos privados no estructurados.
FAQ Es un almacén de datos que contiene datos estructurados que se usan como preguntas frecuentes.
CONNECTOR Un almacén de datos que es un conector a un servicio propio o de terceros.

DocumentProcessingMode

Es el modo de procesamiento de documentos del almacén de datos.

Enums
DOCUMENT_PROCESSING_MODE_UNSPECIFIED No especificado.
DOCUMENTS Los documentos se procesan como documentos.
CHUNKS Los documentos se convierten en fragmentos.

AttributeType

Es el atributo (o la función) al que se aplicará la clasificación personalizada.

Enums
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType sin especificar.
NUMERICAL El valor del campo numérico se usará para actualizar de forma dinámica el importe de la mejora. En este caso, el valor del atributo (el valor x) del punto de control será el valor real del campo numérico para el que se especifica boost_amount.
FRESHNESS Para el caso de uso de actualidad, el valor del atributo será la duración entre la hora actual y la fecha en el campo de fecha y hora especificado. El valor debe tener el formato de un valor XSD dayTimeDuration (un subconjunto restringido de un valor de duración ISO 8601). El patrón para esto es el siguiente: [nD][T[nH][nM][nS]]. P.ej., 5D, 3DT12H30M, T24H.

InterpolationType

Es el tipo de interpolación que se aplicará. El valor predeterminado será lineal (lineal por partes).

Enums
INTERPOLATION_TYPE_UNSPECIFIED No se especificó el tipo de interpolación. En este caso, se establece de forma predeterminada en Lineal.
LINEAR Se aplicará la interpolación lineal por partes.

ModalityType

Es el tipo de modalidad.

Enums
MODALITY_TYPE_UNSPECIFIED Tipo de modalidad sin especificar.
TEXT Modalidad de texto.
AUDIO Modalidad de audio.

FilterParameterBehavior

Comportamiento del parámetro de filtro.

Enums
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Comportamiento predeterminado del filtro. Incluye el parámetro de filtro para los almacenes de datos del conector. Para el resto de los tipos de almacenes de datos, se omite el parámetro de entrada del filtro.
ALWAYS_INCLUDE Incluye siempre el parámetro de filtro para todos los tipos de almacenes de datos.
NEVER_INCLUDE El parámetro de filtro nunca se incluye en la lista de parámetros de la herramienta, independientemente del tipo de almacén de datos.

Estado

Representa el estado de disponibilidad dinámica de la herramienta.

Enums
STATE_UNSPECIFIED Es el estado predeterminado.
ACTIVE La herramienta está disponible y el servidor la ofrece de forma activa.
INACTIVE La herramienta está configurada o fijada, pero el servidor no la ofrece actualmente.
STALE La herramienta existe en el servidor, pero no coincide con la versión del servidor.

CorpusType

Es el tipo de corpus de RAG de Vertex.

Enums
CORPUS_TYPE_UNSPECIFIED Tipo de corpus no especificado.
USER_OWNED El usuario crea el corpus y es su propietario.
FULLY_MANAGED El agente crea el corpus.

WidgetType

Todos los tipos de widgets disponibles. Es posible que se agreguen valores nuevos a esta enumeración en el futuro.

Enums
WIDGET_TYPE_UNSPECIFIED Es un tipo de widget sin especificar.
CUSTOM Tipo de widget personalizado.
PRODUCT_DETAILS Widget de detalles del producto.
QUICK_ACTIONS Widget de acciones rápidas.
PRODUCT_COMPARISON Widget de comparación de productos.
ADVANCED_PRODUCT_DETAILS Widget de detalles del producto avanzados.
SHORT_FORM Widget de formato corto.
OVERALL_SATISFACTION Widget de satisfacción general.
ORDER_SUMMARY Widget de resumen del pedido.
APPOINTMENT_DETAILS Widget de detalles de la cita.
APPOINTMENT_SCHEDULER Widget de agenda de citas.
CONTACT_FORM Widget de formulario de contacto

Modo

Es la estrategia que se usa para asignar datos de la herramienta de origen al widget.

Enums
MODE_UNSPECIFIED Modo sin especificar.
FIELD_MAPPING Usa el mapa field_mappings para la transformación de datos.
PYTHON_SCRIPT Usa python_script para la transformación de datos.

Tipo

Define cómo se produce la respuesta de texto.

Enums
TYPE_UNSPECIFIED Indica un tipo no especificado.
NONE El LLM decide de forma dinámica si genera una respuesta de texto junto con el widget según el contexto de la conversación.
LLM_GENERATED Se requiere de forma explícita que el LLM genere una respuesta de texto.
STATIC Siempre se usa una respuesta de texto estática predefinida.

ExecutionType

Es el tipo de ejecución de la herramienta o el conjunto de herramientas.

Enums
EXECUTION_TYPE_UNSPECIFIED No se especificó el tipo de ejecución. Si no se especifica, el número predeterminado es SYNCHRONOUS.
SYNCHRONOUS La herramienta se ejecuta de forma síncrona. La sesión se bloquea hasta que la herramienta devuelve un resultado.
ASYNCHRONOUS La herramienta se ejecuta de forma asíncrona. La sesión continuará mientras se ejecuta la herramienta.

MatchType

Es el tipo de concordancia del filtro de contenido.

Enums
MATCH_TYPE_UNSPECIFIED No se especificó el tipo de concordancia.
SIMPLE_STRING_MATCH El contenido se compara con las subcadenas carácter por carácter.
WORD_BOUNDARY_STRING_MATCH El contenido solo coincide si el patrón que se encuentra en el texto está rodeado de delimitadores de palabras. Las frases prohibidas también pueden contener delimitadores de palabras.
REGEXP_MATCH El contenido se compara con la sintaxis de expresiones regulares.
SENSITIVE_WORDS El contenido se compara con una lista de palabras y frases sensibles administrada por el sistema. Si adjuntas una barandilla con este tipo de coincidencia a una app o un agente, se reemplazará el filtro predeterminado de palabras sensibles para los agentes afectados. Inhabilita la barandilla para inhabilitar el filtro predeterminado.

PolicyScope

Define cuándo aplicar la verificación de la política durante la conversación.

Enums
POLICY_SCOPE_UNSPECIFIED No se especificó el permiso de la política.
USER_QUERY La verificación de políticas se activa con la entrada del usuario.
AGENT_RESPONSE La verificación de políticas se activa en la respuesta del agente. Aplicar este permiso de política generará latencia adicional antes de que el agente pueda responder.
USER_QUERY_AND_AGENT_RESPONSE La verificación de políticas se activa tanto en la entrada del usuario como en la respuesta del agente. Aplicar este permiso de política generará latencia adicional antes de que el agente pueda responder.

HarmCategory

Categoría de daño.

Enums
HARM_CATEGORY_UNSPECIFIED No se especifica la categoría de daño.
HARM_CATEGORY_HATE_SPEECH La categoría de daño es la incitación al odio o a la violencia.
HARM_CATEGORY_DANGEROUS_CONTENT La categoría de daño es el contenido peligroso.
HARM_CATEGORY_HARASSMENT La categoría de daño es el hostigamiento.
HARM_CATEGORY_SEXUALLY_EXPLICIT La categoría de daño es el contenido sexual explícito.
HARM_CATEGORY_PROFANITY La categoría de daño es el lenguaje obsceno.
HARM_CATEGORY_TOXIC La categoría de daño es tóxica.

HarmBlockThreshold

Niveles de umbral basados en la probabilidad para el bloqueo.

Enums
HARM_BLOCK_THRESHOLD_UNSPECIFIED Umbral de bloqueo de daño no especificado.
BLOCK_LOW_AND_ABOVE Bloquea el umbral bajo y superior (es decir, bloquea más).
BLOCK_MEDIUM_AND_ABOVE Bloquea el umbral medio y superior.
BLOCK_ONLY_HIGH Bloquea solo el umbral alto (es decir, bloquea menos).
BLOCK_NONE No bloquear.
OFF Desactiva el filtro de seguridad.

Tipo

Es el tipo de supervisor.

Enums
TYPE_UNSPECIFIED El tipo no está especificado.
INVALID_TEXT Tipo de problema de texto no válido.
LANGUAGE_SHIFT Es el tipo de problema de cambio de idioma.
SPEAKER_SHIFT Es el tipo de problema de cambio de interlocutor.
AUDIO_MISMATCH Tipo de problema de discrepancia de audio.
MISSING_TOOL_CALL Falta el tipo de problema de llamada a la herramienta.
CUSTOM Tipo de problema personalizado.
CHOPPY_AUDIO Tipo de problema de audio entrecortado.
PROFANITY Es el tipo de problema de lenguaje obsceno del agente.

DetectionMode

Es el modo de detección del supervisor.

Enums
DETECTION_MODE_UNSPECIFIED No se especificó el modo de detección. El valor predeterminado es NON_BLOCKING.
NON_BLOCKING Modo de detección sin bloqueo. La respuesta no se bloquea cuando la detección del supervisor está en curso.
BLOCKING Modo de detección de bloqueo. La respuesta se bloquea cuando la detección del supervisor está en curso.

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 puede enviar un mensaje de confirmación a un usuario.

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

  • 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 de forma repetida 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: ❌