MCP Tools Reference: ces.googleapis.com

Herramienta: create_app

Crea una app nueva en el proyecto y la ubicación especificados.

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

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

Esquema de entrada

Mensaje de solicitud para AgentService.CreateApp.

CreateAppRequest

Representación JSON
{
  "parent": string,
  "appId": string,
  "app": {
    object (App)
  }
}
Campos
parent

string

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

appId

string

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

app

object (App)

Obligatorio. Es la app que se creará.

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 de la app legible por humanos.

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. Es la configuración de idioma de la app.

timeZoneSettings

object (TimeZoneSettings)

Es opcional. Es la configuración de 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 registros de la app.

errorHandlingSettings

object (ErrorHandlingSettings)

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

modelSettings

object (ModelSettings)

Es opcional. Es la configuración predeterminada del modelo de LLM para la app. Los recursos individuales (p.ej., agentes y medidas de protección) pueden anular estas configuraciones 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 usará PARALLEL de forma predeterminada.

evaluationMetricsThresholds

object (EvaluationMetricsThresholds)

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

variableDeclarations[]

object (VariableDeclaration)

Es opcional. Son las declaraciones de las variables.

predefinedVariableDeclarations[]

object (VariableDeclaration)

Solo salida. Son las declaraciones de las 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. Lista de barreras de seguridad para 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 pertinente 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. Es la 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 el ETag que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura-modificación-escritura. Si el ETag está vacío, la actualización reemplazará cualquier cambio simultáneo.

deploymentCount

integer

Solo salida. 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. Es la configuración de VPC-SC para la app.

locked

boolean

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

validationErrors[]

string

Solo salida. Advertencias o errores de configuración en la app

dashboardSettings

object (DashboardSettings)

Es opcional. Parámetros de configuración del panel específicos de la app para vincular y configurar los paneles de Contact Center Insights.

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. Lista de códigos de idioma admitidos por la app, además de default_language_code.

enableMultilingualSupport

boolean

Es opcional. Habilita la compatibilidad multilingüe. Si es verdadero, los agentes de la app usarán instrucciones prediseñadas para mejorar el procesamiento 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 procesamiento de la entrada multilingüe. Es la acción que se realizará cuando un agente reciba una entrada en un idioma no admitido.

Puede ser una acción predefinida o una llamada a herramienta personalizada. Los valores válidos son los siguientes: - El nombre completo del recurso de una herramienta, que activa la ejecución de una herramienta específica. - Una acción del sistema predefinida, 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. 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. Es la configuración de cómo se debe sintetizar la respuesta del agente, que asigna el código de idioma a SynthesizeSpeechConfig.

Si no se encuentra la configuración para el código de idioma especificado, se usará la configuración para el 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 configura, el agente no le solicitará al usuario que vuelva a participar.

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

ambientSoundConfig

object (AmbientSoundConfig)

Es opcional. Es la configuración del sonido ambiente 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 demás parámetros, como language_code.

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

speakingRate

number

Es opcional. Es 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. Actualmente, se admiten los siguientes valores: "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 el habla 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 habla. Si es verdadero, se ignorará la entrada del usuario durante la reproducción de la respuesta del agente.

bargeInAwareness

boolean

Es opcional. Si está habilitada, el agente adaptará su próxima respuesta según 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 visualmente.

Duración

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

string (int64 format)

Son los segundos firmados del período. Debe estar comprendido 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

Son fracciones de segundo firmadas con una resolución de nanosegundos del período. Las duraciones inferiores a un segundo se representan con un campo seconds igual a 0 y un campo nanos positivo o negativo. Para 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. Debe ser un valor entre -999,999,999 y +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. 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 ambiente como un archivo WAV de un solo canal y 16 kHz 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 permiso storage.objects.get para el objeto de Cloud Storage.

prebuiltAmbientSound

string

Es opcional. Nombre del sonido ambiental prediseñado. 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" y "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. Es el audio de consentimiento para la clonación de voz.

voiceInstruction

string

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

previewAudioContent

string (bytes format)

Solo salida. 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, el valor predeterminado es NO_INSTRUCTION.

Advertencia

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

string

Solo salida. Es una descripción legible 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)
  }
}
Campos
redactionConfig

object (RedactionConfig)

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

audioRecordingConfig

object (AudioRecordingConfig)

Es opcional. Es la configuración de cómo se deben registrar las interacciones de audio. El audio está sujeto a la redacción según se configuró en RedactionConfig.

unredactedAudioRecordingConfig

object (AudioRecordingConfig)

Es opcional. Configura una grabación adicional de audio sin editar. Se puede usar para mantener una copia de audio sin procesar cuando la redacción de audio es enabled, por lo general, para fines de auditoría o supervisión.

bigqueryExportSettings

object (BigQueryExportSettings)

Es opcional. Configura los comportamientos de exportación de BigQuery para la app. Los datos de conversación están sujetos a la ocultación según se configuró en RedactionConfig.

unredactedBigqueryExportSettings

object (BigQueryExportSettings)

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

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 que describe los comportamientos de registro de conversaciones de la app.

evaluationAudioRecordingConfig

object (AudioRecordingConfig)

Es opcional. Es la configuración de cómo se deben registrar 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. Es la configuración para describir los comportamientos de recopilación de datos de conversación para la canalización de análisis de LLM de la app.

RedactionConfig

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

boolean

Es opcional. Si es verdadero, la redacción se aplicará 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. Bucket de Cloud Storage para almacenar las grabaciones de audio de la sesión. El URI debe comenzar con "gs://".

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

Nota: Si el bucket de Cloud Storage está en un proyecto diferente de la app, debes otorgar permiso de 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 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 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 a BigQuery está habilitada.

project

string

Es opcional. Es 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 se encuentra en un proyecto diferente al de la app, debes otorgar el rol de 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 configura, 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 conversaciones para las métricas de análisis de LLM. Si es 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. Es la configuración para controlar las respuestas de respaldo.

endSessionConfig

object (EndSessionConfig)

Es opcional. Es la configuración para finalizar la sesión en caso de errores del sistema (p.ej., errores del 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 del LLM), asignados por 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 EndSession Signal.

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 la sesión se deriva, 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 LLM que debe usar el agente. Si no se configura, el agente heredará el modelo de su agente superior.

thinkingLevel

enum (ThinkingLevel)

Es opcional. Es el nivel de razonamiento del modelo.

Campo de unión _temperature.

_temperature puede ser una de las siguientes opciones:

temperature

number

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

EvaluationMetricsThresholds

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

object (GoldenEvaluationMetricsThresholds)

Es opcional. Son los umbrales de las métricas de evaluación ideales.

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. Es la configuración de la herramienta de correlación. Una llamada a herramienta adicional es una llamada a herramienta que está presente en la ejecución, pero no coincide con ninguna llamada a herramienta en la expectativa ideal.

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 precisió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 del parámetro de invocación de la herramienta individual. 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. El valor predeterminado 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. Son las 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. Son las 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 valor booleano o un objeto, y controla la presencia de propiedades adicionales.

anyOf[]

object (Schema)

Es opcional. El valor se debe validar con cualquiera de los subesquemas (uno o más) 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 apartamento 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 los nodos del esquema. El valor debe ser una referencia válida a un elemento secundario del defs raíz.

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 del 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 para que lo use 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 de 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 generalmente no los admite en su tipo de número.

stringValue

string

Representa una cadena JSON.

boolValue

boolean

Representa un valor booleano de 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 no ordenado de valores escritos de forma dinámica.

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 escritos de forma dinámica.

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 arquetipo del perfil del canal.

webWidgetConfig

object (WebWidgetConfig)

Es opcional. Es 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. Es la configuración específica de 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 el 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 están inhabilitadas mientras el agente habla. - false: El agente conserva el control automático sobre cuándo puede interrumpir el usuario.

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. Es el arquetipo del canal.

WebWidgetConfig

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

enum (Modality)

Es opcional. Es 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. Es 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 para 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 carga el widget web 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. Un origen se define en el RFC 6454. 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 está habilitada la verificación de reCAPTCHA para el widget web.

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. Número de teléfono en formato E.164.

displayName

string

Solo salida. Es el nombre de la página comercial de Meta recuperada.

thumbnailUrl

string

Solo salida. Es la URL de la miniatura del perfil de la empresa de Meta recuperada.

description

string

Solo salida. Es la descripción de la página o el perfil comercial de Meta.

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 comercial de Meta recuperada.

thumbnailUrl

string

Solo salida. Es la URL de la miniatura del perfil de la empresa de Meta recuperada.

description

string

Solo salida. Es la descripción de la página o el perfil comercial de Meta.

MetadataEntry

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

string

value

string

Marca de tiempo

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

string (int64 format)

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

nanos

integer

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

ClientCertificateSettings

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

string

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

privateKey

string

Obligatorio. Es el nombre del recurso de la versión secreta de Secret Manager 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 secreta de Secret Manager que almacena la frase de contraseña para desencriptar la clave privada. Se debe dejar 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 en 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 Contact Center Insights asociado a la app. Este es el panel que se mostrará cuando los usuarios naveguen a la vista Supervisión de la app.

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

PrebuiltAmbientNoise

Ruido ambiental prediseñado.

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 Tipo de advertencia sin especificar.
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 Modo de instrucción sin especificar. El valor predeterminado es NO_INSTRUCTION.
NO_INSTRUCTION No se usará ninguna instrucción por voz.
GENERATE_INSTRUCTION La IA generará automáticamente las instrucciones por 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 los errores.

Enums
ERROR_HANDLING_STRATEGY_UNSPECIFIED Estrategia de manejo de errores no especificada.
NONE No se habilitó ningún control específico.
FALLBACK_RESPONSE En caso de errores del sistema (p.ej., errores del LLM), se devolverá un mensaje de resguardo al usuario.
END_SESSION Se emitirá un indicador de 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 El nivel de pensamiento no está especificado.
DEFAULT Es el nivel de razonamiento predeterminado.
LOW Nivel de razonamiento bajo.
MEDIUM Nivel de razonamiento medio.
HIGH Nivel de razonamiento alto.

ToolExecutionMode

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

Enums
TOOL_EXECUTION_MODE_UNSPECIFIED No se especificó el modo de ejecución de la herramienta. 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 podrá ver el ToolContext actualizado de la herramienta anterior.

SemanticSimilarityChannel

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

Enums
SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED No se especificó la métrica. El valor predeterminado es TEXT.
TEXT Usa la similitud semántica del texto.
AUDIO Usa la similitud semántica del audio.

ExtraToolCallBehavior

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

Enums
EXTRA_TOOL_CALL_BEHAVIOR_UNSPECIFIED Comportamiento no especificado. El valor predeterminado es FAIL.
FAIL Falla la evaluación si se encuentra una llamada a herramienta adicional.
ALLOW Permite la llamada a la herramienta adicional.

HallucinationMetricBehavior

Es 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 general de la evaluación.

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

Tipo

Son los tipos de datos de OpenAPI.

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

NullValue

Representa un null de JSON.

NullValue es un centinela que usa un enum con solo un 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, y, por lo tanto, se realizará un viaje de ida y vuelta a un valor de 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 Tipo de motor sin especificar.
ENGINE_TYPE_CHAT 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 Es el canal de la IU web.
API Canal de 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 (CCaaS Chat).
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

Es el arquetipo del canal.

Enums
UNKNOWN Arquetipo DESCONOCIDO.
CONCISE El agente mantiene las respuestas concisas y específicas.
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 voz y chat.
VOICE_ONLY El widget solo admite 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

Esquema de salida

Este recurso representa una operación de larga duración que es el resultado de una llamada a la API de la red.

Operación

Representación JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
Campos
name

string

El nombre asignado por el servidor, que solo es único dentro del mismo servicio que lo muestra en un principio. Si usas la asignación HTTP predeterminada, el name debe ser un nombre de recurso que termine con operations/{unique_id}.

metadata

object

Metadatos específicos del servicio asociados con la operación. Por lo general, contiene información de progreso y metadatos comunes, como la fecha de creación. Puede que algunos servicios no proporcionen estos metadatos. Cualquier método que muestra una operación de larga duración debe documentar el tipo de metadatos, si corresponde.

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene una URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Si el valor es false, significa que la operación aún está en progreso. Si es true, la operación está completa, y error o response están disponibles.

Campo de unión result. El resultado de la operación, que puede ser un error o una response válida. Si done == false, no se establecen error ni response. Si done == true, se puede establecer error o response. Es posible que algunos servicios no proporcionen el resultado. result puede ser solo uno de los siguientes:
error

object (Status)

El resultado de error de la operación en caso de falla o cancelación.

response

object

Es la respuesta normal y correcta de la operación. Si el método original no devuelve datos en caso de éxito, como Delete, la respuesta es google.protobuf.Empty. Si el método original es Get, Create o Update estándar, la respuesta debe ser el recurso. Para otros métodos, la respuesta debe tener el tipo XxxResponse, en la que Xxx es el nombre del método original. Por ejemplo, si el nombre del método original es TakeSnapshot(), el tipo de respuesta inferido es TakeSnapshotResponse.

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene una URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

Cualquiera

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

string

Identifica el tipo del mensaje serializado de Protobuf con una referencia de URI que consta de un prefijo que termina en una barra y el nombre de tipo completo.

Ejemplo: type.googleapis.com/google.protobuf.StringValue

Esta cadena debe contener al menos un carácter /, y el contenido después del último / debe ser el nombre completamente calificado del tipo en formato canónico, sin un punto inicial. No escribas un esquema en estas referencias de URI para que los clientes no intenten comunicarse con ellas.

El prefijo es arbitrario, y se espera que las implementaciones de Protobuf simplemente quiten todo hasta el último / inclusive para identificar el tipo. type.googleapis.com/ es un prefijo predeterminado común que requieren algunas implementaciones heredadas. Este prefijo no indica el origen del tipo, y no se espera que los URIs que lo contienen respondan a ninguna solicitud.

Todas las cadenas de URL de tipo deben ser referencias URI legales con la restricción adicional (para el formato de texto) de que el contenido de la referencia debe constar solo de caracteres alfanuméricos, escapes codificados como porcentaje y caracteres del siguiente conjunto (sin incluir las comillas inversas externas): /-.~_!$&()*+,;=. A pesar de que permitimos la codificación de porcentaje, las implementaciones no deben decodificarlas para evitar confusiones con los analizadores existentes. Por ejemplo, se debe rechazar type.googleapis.com%2FFoo.

En el diseño original de Any, se consideró la posibilidad de iniciar un servicio de resolución de tipos en estas URLs de tipos, pero Protobuf nunca implementó uno y considera que contactar estas URLs es problemático y un posible problema de seguridad. No intentes comunicarte con URLs de tipo.

value

string (bytes format)

Contiene una serialización de Protobuf del tipo que describe type_url.

Es una cadena codificada en Base64.

Estado

Representación JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Campos
code

integer

El código de estado, que debe ser un valor enum de google.rpc.Code.

message

string

Un mensaje de error dirigido al desarrollador, que debe estar en inglés. Cualquier mensaje de error dirigido al usuario debe localizarse y enviarse al campo google.rpc.Status.details; o el cliente debe localizarlo.

details[]

object

Una lista de mensajes que contienen los detalles del error. Hay un conjunto común de tipos de mensajes para que usen las API.

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene una URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

Anotaciones de herramientas

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

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

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

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