From 186667ecaa3b9ff14f1fbcf4e69cdf5bacb391d3 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:51 +0000 Subject: [PATCH 01/42] feat(aiplatform)!: update the API BREAKING CHANGE: This release has breaking changes. #### aiplatform:v1beta1 The following keys were deleted: - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.id - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.agentId.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.agentId.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.agentType.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.agentType.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.description.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.description.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.developerInstruction.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.developerInstruction.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.subAgents.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.subAgents.items.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.subAgents.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.tools.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.tools.items.$ref - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.properties.tools.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentConfig.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.id - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.activeTools.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.activeTools.items.$ref - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.activeTools.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.author.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.author.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.content.$ref - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.content.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.eventTime.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.eventTime.format - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.eventTime.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.stateDelta.additionalProperties.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.stateDelta.additionalProperties.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.stateDelta.description - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.properties.stateDelta.type - schemas.GoogleCloudAiplatformV1beta1AgentDataAgentEvent.type - schemas.GoogleCloudAiplatformV1beta1AgentDataConversationTurn.description - schemas.GoogleCloudAiplatformV1beta1AgentDataConversationTurn.id - schemas.GoogleCloudAiplatformV1beta1AgentDataConversationTurn.properties.events.description - schemas.GoogleCloudAiplatformV1beta1AgentDataConversationTurn.properties.events.items.$ref - schemas.GoogleCloudAiplatformV1beta1AgentDataConversationTurn.properties.events.type - schemas.GoogleCloudAiplatformV1beta1AgentDataConversationTurn.properties.turnId.description - schemas.GoogleCloudAiplatformV1beta1AgentDataConversationTurn.properties.turnId.type - schemas.GoogleCloudAiplatformV1beta1AgentDataConversationTurn.properties.turnIndex.description - schemas.GoogleCloudAiplatformV1beta1AgentDataConversationTurn.properties.turnIndex.format - schemas.GoogleCloudAiplatformV1beta1AgentDataConversationTurn.properties.turnIndex.type - schemas.GoogleCloudAiplatformV1beta1AgentDataConversationTurn.type The following keys were added: - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.description - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.flatPath - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.httpMethod - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.id - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameterOrder - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.options.requestedPolicyVersion.description - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.options.requestedPolicyVersion.format - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.options.requestedPolicyVersion.location - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.options.requestedPolicyVersion.type - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.resource.description - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.resource.location - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.resource.pattern - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.resource.required - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.resource.type - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.path - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.response.$ref - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.scopes - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.description - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.flatPath - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.httpMethod - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.id - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.parameterOrder - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.parameters.resource.description - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.parameters.resource.location - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.parameters.resource.pattern - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.parameters.resource.required - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.parameters.resource.type - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.path - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.request.$ref - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.response.$ref - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.scopes - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.description - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.flatPath - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.httpMethod - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.id - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameterOrder - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.permissions.description - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.permissions.location - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.permissions.repeated - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.permissions.type - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.resource.description - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.resource.location - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.resource.pattern - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.resource.required - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.resource.type - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.path - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.response.$ref - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.scopes - schemas.GoogleCloudAiplatformV1beta1AgentConfig.description - schemas.GoogleCloudAiplatformV1beta1AgentConfig.id - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.agentId.description - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.agentId.type - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.agentType.description - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.agentType.type - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.description.description - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.description.type - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.instruction.description - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.instruction.type - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.subAgents.description - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.subAgents.items.type - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.subAgents.type - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.tools.description - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.tools.items.$ref - schemas.GoogleCloudAiplatformV1beta1AgentConfig.properties.tools.type - schemas.GoogleCloudAiplatformV1beta1AgentConfig.type - schemas.GoogleCloudAiplatformV1beta1AgentEvent.description - schemas.GoogleCloudAiplatformV1beta1AgentEvent.id - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.activeTools.description - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.activeTools.items.$ref - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.activeTools.type - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.author.description - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.author.type - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.content.$ref - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.content.description - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.eventTime.description - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.eventTime.format - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.eventTime.type - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.stateDelta.additionalProperties.description - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.stateDelta.additionalProperties.type - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.stateDelta.description - schemas.GoogleCloudAiplatformV1beta1AgentEvent.properties.stateDelta.type - schemas.GoogleCloudAiplatformV1beta1AgentEvent.type - schemas.GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec.description - schemas.GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec.id - schemas.GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec.properties.parameters.additionalProperties.description - schemas.GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec.properties.parameters.additionalProperties.type - schemas.GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec.properties.parameters.description - schemas.GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec.properties.parameters.type - schemas.GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec.properties.type.description - schemas.GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec.properties.type.enum - schemas.GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec.properties.type.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec.properties.type.type - schemas.GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec.type - schemas.GoogleCloudAiplatformV1beta1ConversationTurn.description - schemas.GoogleCloudAiplatformV1beta1ConversationTurn.id - schemas.GoogleCloudAiplatformV1beta1ConversationTurn.properties.events.description - schemas.GoogleCloudAiplatformV1beta1ConversationTurn.properties.events.items.$ref - schemas.GoogleCloudAiplatformV1beta1ConversationTurn.properties.events.type - schemas.GoogleCloudAiplatformV1beta1ConversationTurn.properties.turnId.description - schemas.GoogleCloudAiplatformV1beta1ConversationTurn.properties.turnId.type - schemas.GoogleCloudAiplatformV1beta1ConversationTurn.properties.turnIndex.description - schemas.GoogleCloudAiplatformV1beta1ConversationTurn.properties.turnIndex.format - schemas.GoogleCloudAiplatformV1beta1ConversationTurn.properties.turnIndex.type - schemas.GoogleCloudAiplatformV1beta1ConversationTurn.type - schemas.GoogleCloudAiplatformV1beta1EvaluationInstance.properties.agentData.deprecated - schemas.GoogleCloudAiplatformV1beta1EvaluationInstance.properties.agentEvalData.$ref - schemas.GoogleCloudAiplatformV1beta1EvaluationInstance.properties.agentEvalData.description - schemas.GoogleCloudAiplatformV1beta1EvaluationInstanceAgentConfig.deprecated - schemas.GoogleCloudAiplatformV1beta1EvaluationInstanceAgentData.deprecated - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetric.properties.computationBasedMetricSpec.$ref - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetric.properties.computationBasedMetricSpec.description - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec.description - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec.id - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec.properties.parameters.additionalProperties.description - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec.properties.parameters.additionalProperties.type - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec.properties.parameters.description - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec.properties.parameters.type - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec.properties.type.description - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec.properties.type.enum - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec.properties.type.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec.properties.type.type - schemas.GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec.type - schemas.GoogleCloudAiplatformV1beta1Metric.properties.computationBasedMetricSpec.$ref - schemas.GoogleCloudAiplatformV1beta1Metric.properties.computationBasedMetricSpec.description - schemas.GoogleCloudAiplatformV1beta1PurgeMemoriesRequest.properties.filterGroups.description - schemas.GoogleCloudAiplatformV1beta1PurgeMemoriesRequest.properties.filterGroups.items.$ref - schemas.GoogleCloudAiplatformV1beta1PurgeMemoriesRequest.properties.filterGroups.type The following keys were changed: - endpoints - schemas.GoogleCloudAiplatformV1beta1AgentData.properties.agents.additionalProperties.$ref - schemas.GoogleCloudAiplatformV1beta1AgentData.properties.agents.description - schemas.GoogleCloudAiplatformV1beta1AgentData.properties.turns.items.$ref - schemas.GoogleCloudAiplatformV1beta1EvaluationInstance.properties.agentData.description - schemas.GoogleCloudAiplatformV1beta1GenerateContentResponseUsageMetadata.properties.trafficType.enum - schemas.GoogleCloudAiplatformV1beta1GenerateContentResponseUsageMetadata.properties.trafficType.enumDescriptions - schemas.GoogleCloudAiplatformV1beta1UsageMetadata.properties.trafficType.enum - schemas.GoogleCloudAiplatformV1beta1UsageMetadata.properties.trafficType.enumDescriptions #### aiplatform:v1 The following keys were deleted: - schemas.GoogleCloudAiplatformV1AgentData.description - schemas.GoogleCloudAiplatformV1AgentData.id - schemas.GoogleCloudAiplatformV1AgentData.properties.agents.additionalProperties.$ref - schemas.GoogleCloudAiplatformV1AgentData.properties.agents.description - schemas.GoogleCloudAiplatformV1AgentData.properties.agents.type - schemas.GoogleCloudAiplatformV1AgentData.properties.turns.description - schemas.GoogleCloudAiplatformV1AgentData.properties.turns.items.$ref - schemas.GoogleCloudAiplatformV1AgentData.properties.turns.type - schemas.GoogleCloudAiplatformV1AgentData.type - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.description - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.id - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.agentId.description - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.agentId.type - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.agentType.description - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.agentType.type - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.description.description - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.description.type - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.developerInstruction.description - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.developerInstruction.type - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.subAgents.description - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.subAgents.items.type - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.subAgents.type - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.tools.description - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.tools.items.$ref - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.properties.tools.type - schemas.GoogleCloudAiplatformV1AgentDataAgentConfig.type - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.description - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.id - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.activeTools.description - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.activeTools.items.$ref - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.activeTools.type - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.author.description - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.author.type - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.content.$ref - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.content.description - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.eventTime.description - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.eventTime.format - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.eventTime.type - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.stateDelta.additionalProperties.description - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.stateDelta.additionalProperties.type - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.stateDelta.description - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.properties.stateDelta.type - schemas.GoogleCloudAiplatformV1AgentDataAgentEvent.type - schemas.GoogleCloudAiplatformV1AgentDataConversationTurn.description - schemas.GoogleCloudAiplatformV1AgentDataConversationTurn.id - schemas.GoogleCloudAiplatformV1AgentDataConversationTurn.properties.events.description - schemas.GoogleCloudAiplatformV1AgentDataConversationTurn.properties.events.items.$ref - schemas.GoogleCloudAiplatformV1AgentDataConversationTurn.properties.events.type - schemas.GoogleCloudAiplatformV1AgentDataConversationTurn.properties.turnId.description - schemas.GoogleCloudAiplatformV1AgentDataConversationTurn.properties.turnId.type - schemas.GoogleCloudAiplatformV1AgentDataConversationTurn.properties.turnIndex.description - schemas.GoogleCloudAiplatformV1AgentDataConversationTurn.properties.turnIndex.format - schemas.GoogleCloudAiplatformV1AgentDataConversationTurn.properties.turnIndex.type - schemas.GoogleCloudAiplatformV1AgentDataConversationTurn.type - schemas.GoogleCloudAiplatformV1CandidateResponse.properties.agentData.$ref - schemas.GoogleCloudAiplatformV1CandidateResponse.properties.agentData.description - schemas.GoogleCloudAiplatformV1EvaluationPrompt.properties.agentData.$ref - schemas.GoogleCloudAiplatformV1EvaluationPrompt.properties.agentData.description The following keys were added: - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.description - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.flatPath - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.httpMethod - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.id - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameterOrder - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.options.requestedPolicyVersion.description - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.options.requestedPolicyVersion.format - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.options.requestedPolicyVersion.location - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.options.requestedPolicyVersion.type - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.resource.description - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.resource.location - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.resource.pattern - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.resource.required - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.parameters.resource.type - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.path - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.response.$ref - resources.projects.resources.locations.resources.reasoningEngines.methods.getIamPolicy.scopes - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.description - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.flatPath - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.httpMethod - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.id - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.parameterOrder - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.parameters.resource.description - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.parameters.resource.location - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.parameters.resource.pattern - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.parameters.resource.required - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.parameters.resource.type - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.path - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.request.$ref - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.response.$ref - resources.projects.resources.locations.resources.reasoningEngines.methods.setIamPolicy.scopes - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.description - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.flatPath - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.httpMethod - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.id - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameterOrder - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.permissions.description - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.permissions.location - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.permissions.repeated - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.permissions.type - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.resource.description - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.resource.location - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.resource.pattern - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.resource.required - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.parameters.resource.type - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.path - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.response.$ref - resources.projects.resources.locations.resources.reasoningEngines.methods.testIamPermissions.scopes - schemas.GoogleCloudAiplatformV1ComputationBasedMetricSpec.description - schemas.GoogleCloudAiplatformV1ComputationBasedMetricSpec.id - schemas.GoogleCloudAiplatformV1ComputationBasedMetricSpec.properties.parameters.additionalProperties.description - schemas.GoogleCloudAiplatformV1ComputationBasedMetricSpec.properties.parameters.additionalProperties.type - schemas.GoogleCloudAiplatformV1ComputationBasedMetricSpec.properties.parameters.description - schemas.GoogleCloudAiplatformV1ComputationBasedMetricSpec.properties.parameters.type - schemas.GoogleCloudAiplatformV1ComputationBasedMetricSpec.properties.type.description - schemas.GoogleCloudAiplatformV1ComputationBasedMetricSpec.properties.type.enum - schemas.GoogleCloudAiplatformV1ComputationBasedMetricSpec.properties.type.enumDescriptions - schemas.GoogleCloudAiplatformV1ComputationBasedMetricSpec.properties.type.type - schemas.GoogleCloudAiplatformV1ComputationBasedMetricSpec.type - schemas.GoogleCloudAiplatformV1EvaluationInstance.properties.agentData.deprecated - schemas.GoogleCloudAiplatformV1EvaluationInstance.properties.agentEvalData.$ref - schemas.GoogleCloudAiplatformV1EvaluationInstance.properties.agentEvalData.description - schemas.GoogleCloudAiplatformV1EvaluationInstanceAgentConfig.deprecated - schemas.GoogleCloudAiplatformV1EvaluationInstanceAgentData.deprecated - schemas.GoogleCloudAiplatformV1EvaluationRunMetric.properties.computationBasedMetricSpec.$ref - schemas.GoogleCloudAiplatformV1EvaluationRunMetric.properties.computationBasedMetricSpec.description - schemas.GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec.description - schemas.GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec.id - schemas.GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec.properties.parameters.additionalProperties.description - schemas.GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec.properties.parameters.additionalProperties.type - schemas.GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec.properties.parameters.description - schemas.GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec.properties.parameters.type - schemas.GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec.properties.type.description - schemas.GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec.properties.type.enum - schemas.GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec.properties.type.enumDescriptions - schemas.GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec.properties.type.type - schemas.GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec.type - schemas.GoogleCloudAiplatformV1Metric.properties.computationBasedMetricSpec.$ref - schemas.GoogleCloudAiplatformV1Metric.properties.computationBasedMetricSpec.description - schemas.GoogleCloudAiplatformV1PurgeMemoriesRequest.properties.filterGroups.description - schemas.GoogleCloudAiplatformV1PurgeMemoriesRequest.properties.filterGroups.items.$ref - schemas.GoogleCloudAiplatformV1PurgeMemoriesRequest.properties.filterGroups.type The following keys were changed: - endpoints - schemas.GoogleCloudAiplatformV1EvaluationInstance.properties.agentData.description - schemas.GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata.properties.trafficType.enum - schemas.GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata.properties.trafficType.enumDescriptions - schemas.GoogleCloudAiplatformV1UsageMetadata.properties.trafficType.enum - schemas.GoogleCloudAiplatformV1UsageMetadata.properties.trafficType.enumDescriptions --- discovery/aiplatform-v1.json | 313 +++++++------ discovery/aiplatform-v1beta1.json | 293 +++++++++--- src/apis/aiplatform/v1.ts | 720 ++++++++++++++++++++++++------ 3 files changed, 994 insertions(+), 332 deletions(-) diff --git a/discovery/aiplatform-v1.json b/discovery/aiplatform-v1.json index 2b8e5595ee..231b3ec03d 100644 --- a/discovery/aiplatform-v1.json +++ b/discovery/aiplatform-v1.json @@ -253,11 +253,6 @@ "description": "Regional Endpoint", "endpointUrl": "https://aiplatform.eu.rep.googleapis.com/", "location": "eu" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://staging-aiplatform.us.rep.sandbox.googleapis.com/", - "location": "us" } ], "fullyEncodeReservedExpansion": true, @@ -22170,6 +22165,37 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:getIamPolicy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists reasoning engines in a location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", @@ -22273,6 +22299,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:setIamPolicy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "streamQuery": { "description": "Streams queries using a reasoning engine.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:streamQuery", @@ -22300,6 +22354,37 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:testIamPermissions", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "location": "query", + "repeated": true, + "type": "string" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -30639,7 +30724,7 @@ } } }, - "revision": "20260126", + "revision": "20260201", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -31183,122 +31268,6 @@ }, "type": "object" }, - "GoogleCloudAiplatformV1AgentData": { - "description": "Represents data specific to multi-turn agent evaluations.", - "id": "GoogleCloudAiplatformV1AgentData", - "properties": { - "agents": { - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1AgentDataAgentConfig" - }, - "description": "Optional. The static agent spec. This map defines the graph structure of the agent system. Key: agent_id (matches the `author` field in events). Value: The static configuration of the agents.", - "type": "object" - }, - "turns": { - "description": "Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -> Agent Response).", - "items": { - "$ref": "GoogleCloudAiplatformV1AgentDataConversationTurn" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1AgentDataAgentConfig": { - "description": "Represents configuration for an Agent.", - "id": "GoogleCloudAiplatformV1AgentDataAgentConfig", - "properties": { - "agentId": { - "description": "Required. Unique identifier of the agent. This ID is used to refer to this agent, e.g., in AgentEvent.author, or in the `sub_agents` field. It must be unique within the `agents` map.", - "type": "string" - }, - "agentType": { - "description": "Optional. The type or class of the agent (e.g., \"LlmAgent\", \"RouterAgent\", \"ToolUseAgent\"). Useful for the autorater to understand the expected behavior of the agent.", - "type": "string" - }, - "description": { - "description": "Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.", - "type": "string" - }, - "developerInstruction": { - "description": "Optional. Instructions from the developer for the agent. Can be static or a dynamic prompt template used with the `AgentEvent.state_delta` field.", - "type": "string" - }, - "subAgents": { - "description": "Optional. The list of valid agent IDs that this agent can delegate to. This defines the directed edges in the agent system graph topology.", - "items": { - "type": "string" - }, - "type": "array" - }, - "tools": { - "description": "Optional. The list of tools available to this agent.", - "items": { - "$ref": "GoogleCloudAiplatformV1Tool" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1AgentDataAgentEvent": { - "description": "Represents a single event in the execution trace.", - "id": "GoogleCloudAiplatformV1AgentDataAgentEvent", - "properties": { - "activeTools": { - "description": "Optional. The list of tools that were active/available to the agent at the time of this event. This overrides the `AgentConfig.tools` if set.", - "items": { - "$ref": "GoogleCloudAiplatformV1Tool" - }, - "type": "array" - }, - "author": { - "description": "Required. The ID of the agent or entity that generated this event. Use \"user\" to denote events generated by the end-user.", - "type": "string" - }, - "content": { - "$ref": "GoogleCloudAiplatformV1Content", - "description": "Optional. The content of the event (e.g., text response, tool call, tool response)." - }, - "eventTime": { - "description": "Optional. The timestamp when the event occurred.", - "format": "google-datetime", - "type": "string" - }, - "stateDelta": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Optional. The change in the session state caused by this event. This is a key-value map of fields that were modified or added by the event.", - "type": "object" - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1AgentDataConversationTurn": { - "description": "Represents a single turn/invocation in the conversation.", - "id": "GoogleCloudAiplatformV1AgentDataConversationTurn", - "properties": { - "events": { - "description": "Optional. The list of events that occurred during this turn.", - "items": { - "$ref": "GoogleCloudAiplatformV1AgentDataAgentEvent" - }, - "type": "array" - }, - "turnId": { - "description": "Optional. A unique identifier for the turn. Useful for referencing specific turns across systems.", - "type": "string" - }, - "turnIndex": { - "description": "Optional. The 0-based index of the turn in the conversation sequence.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "GoogleCloudAiplatformV1AggregationOutput": { "description": "The aggregation result for the entire dataset and all metrics.", "id": "GoogleCloudAiplatformV1AggregationOutput", @@ -33040,10 +33009,6 @@ "description": "Responses from model or agent.", "id": "GoogleCloudAiplatformV1CandidateResponse", "properties": { - "agentData": { - "$ref": "GoogleCloudAiplatformV1AgentData", - "description": "Optional. Represents the complete execution trace of a multi-turn conversation, which can involve single or multiple agents. This field is used to provide the full output of an agent's run, including all turns and events, for direct evaluation." - }, "candidate": { "description": "Required. The name of the candidate that produced the response.", "type": "string" @@ -33496,6 +33461,37 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ComputationBasedMetricSpec": { + "description": "Specification for a computation based metric.", + "id": "GoogleCloudAiplatformV1ComputationBasedMetricSpec", + "properties": { + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. A map of parameters for the metric, e.g. {\"rouge_type\": \"rougeL\"}.", + "type": "object" + }, + "type": { + "description": "Required. The type of the computation based metric.", + "enum": [ + "COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED", + "EXACT_MATCH", + "BLEU", + "ROUGE" + ], + "enumDescriptions": [ + "Unspecified computation based metric type.", + "Exact match metric.", + "BLEU metric.", + "ROUGE metric." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1ComputeTokensRequest": { "description": "Request message for ComputeTokens RPC call.", "id": "GoogleCloudAiplatformV1ComputeTokensRequest", @@ -36687,6 +36683,11 @@ "id": "GoogleCloudAiplatformV1EvaluationInstance", "properties": { "agentData": { + "$ref": "GoogleCloudAiplatformV1EvaluationInstanceAgentData", + "deprecated": true, + "description": "Optional. Deprecated. Use `agent_eval_data` instead. Data used for agent evaluation." + }, + "agentEvalData": { "$ref": "GoogleCloudAiplatformV1EvaluationInstanceAgentData", "description": "Optional. Data used for agent evaluation." }, @@ -36717,6 +36718,7 @@ "type": "object" }, "GoogleCloudAiplatformV1EvaluationInstanceAgentConfig": { + "deprecated": true, "description": "Configuration for an Agent.", "id": "GoogleCloudAiplatformV1EvaluationInstanceAgentConfig", "properties": { @@ -36769,6 +36771,7 @@ "type": "object" }, "GoogleCloudAiplatformV1EvaluationInstanceAgentData": { + "deprecated": true, "description": "Contains data specific to agent evaluations.", "id": "GoogleCloudAiplatformV1EvaluationInstanceAgentData", "properties": { @@ -37010,10 +37013,6 @@ "description": "Prompt to be evaluated. This can represent a single-turn prompt or a multi-turn conversation for agent evaluations.", "id": "GoogleCloudAiplatformV1EvaluationPrompt", "properties": { - "agentData": { - "$ref": "GoogleCloudAiplatformV1AgentData", - "description": "Optional. Represents the complete execution trace of a multi-turn conversation, which can involve single or multiple agents. This serves as the input context for agent scraping." - }, "promptTemplateData": { "$ref": "GoogleCloudAiplatformV1EvaluationPromptPromptTemplateData", "description": "Prompt template data." @@ -37350,6 +37349,10 @@ "description": "The metric used for evaluation runs.", "id": "GoogleCloudAiplatformV1EvaluationRunMetric", "properties": { + "computationBasedMetricSpec": { + "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec", + "description": "Spec for a computation based metric." + }, "llmBasedMetricSpec": { "$ref": "GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec", "description": "Spec for an LLM based metric." @@ -37373,6 +37376,37 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec": { + "description": "Specification for a computation based metric.", + "id": "GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec", + "properties": { + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. A map of parameters for the metric, e.g. {\"rouge_type\": \"rougeL\"}.", + "type": "object" + }, + "type": { + "description": "Required. The type of the computation based metric.", + "enum": [ + "COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED", + "EXACT_MATCH", + "BLEU", + "ROUGE" + ], + "enumDescriptions": [ + "Unspecified computation based metric type.", + "Exact match metric.", + "BLEU metric.", + "ROUGE metric." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec": { "description": "Specification for an LLM based metric.", "id": "GoogleCloudAiplatformV1EvaluationRunMetricLLMBasedMetricSpec", @@ -40990,11 +41024,15 @@ "enum": [ "TRAFFIC_TYPE_UNSPECIFIED", "ON_DEMAND", + "ON_DEMAND_PRIORITY", + "ON_DEMAND_FLEX", "PROVISIONED_THROUGHPUT" ], "enumDescriptions": [ "Unspecified request traffic type.", "The request was processed using Pay-As-You-Go quota.", + "Type for Priority Pay-As-You-Go traffic.", + "Type for Flex traffic.", "Type for Provisioned Throughput traffic." ], "readOnly": true, @@ -44925,6 +44963,10 @@ "$ref": "GoogleCloudAiplatformV1BleuSpec", "description": "Spec for bleu metric." }, + "computationBasedMetricSpec": { + "$ref": "GoogleCloudAiplatformV1ComputationBasedMetricSpec", + "description": "Spec for a computation based metric." + }, "customCodeExecutionSpec": { "$ref": "GoogleCloudAiplatformV1CustomCodeExecutionSpec", "description": "Spec for Custom Code Execution metric." @@ -50251,6 +50293,13 @@ "description": "Required. The standard list filter to determine which memories to purge. More detail in [AIP-160](https://google.aip.dev/160).", "type": "string" }, + "filterGroups": { + "description": "Optional. Metadata filters that will be applied to the memories to be purged. Filters are defined using disjunctive normal form (OR of ANDs). For example: `filter_groups: [{filters: [{key: \"author\", value: {string_value: \"agent 123\"}, op: EQUAL}]}, {filters: [{key: \"label\", value: {string_value: \"travel\"}, op: EQUAL}, {key: \"author\", value: {string_value: \"agent 321\"}, op: EQUAL}]}]` would be equivalent to the logical expression: `(metadata.author = \"agent 123\" OR (metadata.label = \"travel\" AND metadata.author = \"agent 321\"))`.", + "items": { + "$ref": "GoogleCloudAiplatformV1MemoryConjunctionFilter" + }, + "type": "array" + }, "force": { "description": "Optional. If true, the memories will actually be purged. If false, the purge request will be validated but not executed.", "type": "boolean" @@ -62071,11 +62120,15 @@ "enum": [ "TRAFFIC_TYPE_UNSPECIFIED", "ON_DEMAND", + "ON_DEMAND_PRIORITY", + "ON_DEMAND_FLEX", "PROVISIONED_THROUGHPUT" ], "enumDescriptions": [ "Unspecified request traffic type.", "Type for Pay-As-You-Go traffic.", + "Type for Priority Pay-As-You-Go traffic.", + "Type for Flex traffic.", "Type for Provisioned Throughput traffic." ], "readOnly": true, diff --git a/discovery/aiplatform-v1beta1.json b/discovery/aiplatform-v1beta1.json index ca26c6fa35..f0d284a6ed 100644 --- a/discovery/aiplatform-v1beta1.json +++ b/discovery/aiplatform-v1beta1.json @@ -253,11 +253,6 @@ "description": "Regional Endpoint", "endpointUrl": "https://aiplatform.eu.rep.googleapis.com/", "location": "eu" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://staging-aiplatform.us.rep.sandbox.googleapis.com/", - "location": "us" } ], "fullyEncodeReservedExpansion": true, @@ -27474,6 +27469,37 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:getIamPolicy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists reasoning engines in a location.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", @@ -27577,6 +27603,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:setIamPolicy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "streamQuery": { "description": "Streams queries using a reasoning engine.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:streamQuery", @@ -27604,6 +27658,37 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:testIamPermissions", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "location": "query", + "repeated": true, + "type": "string" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -37776,7 +37861,7 @@ } } }, - "revision": "20260126", + "revision": "20260201", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -38331,30 +38416,9 @@ }, "type": "object" }, - "GoogleCloudAiplatformV1beta1AgentData": { - "description": "Represents data specific to multi-turn agent evaluations.", - "id": "GoogleCloudAiplatformV1beta1AgentData", - "properties": { - "agents": { - "additionalProperties": { - "$ref": "GoogleCloudAiplatformV1beta1AgentDataAgentConfig" - }, - "description": "Optional. The static agent spec. This map defines the graph structure of the agent system. Key: agent_id (matches the `author` field in events). Value: The static configuration of the agents.", - "type": "object" - }, - "turns": { - "description": "Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -> Agent Response).", - "items": { - "$ref": "GoogleCloudAiplatformV1beta1AgentDataConversationTurn" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1beta1AgentDataAgentConfig": { + "GoogleCloudAiplatformV1beta1AgentConfig": { "description": "Represents configuration for an Agent.", - "id": "GoogleCloudAiplatformV1beta1AgentDataAgentConfig", + "id": "GoogleCloudAiplatformV1beta1AgentConfig", "properties": { "agentId": { "description": "Required. Unique identifier of the agent. This ID is used to refer to this agent, e.g., in AgentEvent.author, or in the `sub_agents` field. It must be unique within the `agents` map.", @@ -38368,12 +38432,12 @@ "description": "Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly.", "type": "string" }, - "developerInstruction": { - "description": "Optional. Instructions from the developer for the agent. Can be static or a dynamic prompt template used with the `AgentEvent.state_delta` field.", + "instruction": { + "description": "Optional. Provides instructions for the LLM model, guiding the agent's behavior. Can be static or dynamic. Dynamic instructions can contain placeholders like {variable_name} that will be resolved at runtime using the `AgentEvent.state_delta` field.", "type": "string" }, "subAgents": { - "description": "Optional. The list of valid agent IDs that this agent can delegate to. This defines the directed edges in the agent system graph topology.", + "description": "Optional. The list of valid agent IDs that this agent can delegate to. This defines the directed edges in the multi-agent system graph topology.", "items": { "type": "string" }, @@ -38389,9 +38453,30 @@ }, "type": "object" }, - "GoogleCloudAiplatformV1beta1AgentDataAgentEvent": { + "GoogleCloudAiplatformV1beta1AgentData": { + "description": "Represents data specific to multi-turn agent evaluations.", + "id": "GoogleCloudAiplatformV1beta1AgentData", + "properties": { + "agents": { + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1beta1AgentConfig" + }, + "description": "Optional. A map containing the static configurations for each agent in the system. Key: agent_id (matches the `author` field in events). Value: The static configuration of the agent.", + "type": "object" + }, + "turns": { + "description": "Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -> Agent Response).", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1ConversationTurn" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1AgentEvent": { "description": "Represents a single event in the execution trace.", - "id": "GoogleCloudAiplatformV1beta1AgentDataAgentEvent", + "id": "GoogleCloudAiplatformV1beta1AgentEvent", "properties": { "activeTools": { "description": "Optional. The list of tools that were active/available to the agent at the time of this event. This overrides the `AgentConfig.tools` if set.", @@ -38406,7 +38491,7 @@ }, "content": { "$ref": "GoogleCloudAiplatformV1beta1Content", - "description": "Optional. The content of the event (e.g., text response, tool call, tool response)." + "description": "Required. The content of the event (e.g., text response, tool call, tool response)." }, "eventTime": { "description": "Optional. The timestamp when the event occurred.", @@ -38424,29 +38509,6 @@ }, "type": "object" }, - "GoogleCloudAiplatformV1beta1AgentDataConversationTurn": { - "description": "Represents a single turn/invocation in the conversation.", - "id": "GoogleCloudAiplatformV1beta1AgentDataConversationTurn", - "properties": { - "events": { - "description": "Optional. The list of events that occurred during this turn.", - "items": { - "$ref": "GoogleCloudAiplatformV1beta1AgentDataAgentEvent" - }, - "type": "array" - }, - "turnId": { - "description": "Optional. A unique identifier for the turn. Useful for referencing specific turns across systems.", - "type": "string" - }, - "turnIndex": { - "description": "Optional. The 0-based index of the turn in the conversation sequence.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "GoogleCloudAiplatformV1beta1AggregationOutput": { "description": "The aggregation result for the entire dataset and all metrics.", "id": "GoogleCloudAiplatformV1beta1AggregationOutput", @@ -40841,6 +40903,37 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec": { + "description": "Specification for a computation based metric.", + "id": "GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec", + "properties": { + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. A map of parameters for the metric, e.g. {\"rouge_type\": \"rougeL\"}.", + "type": "object" + }, + "type": { + "description": "Required. The type of the computation based metric.", + "enum": [ + "COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED", + "EXACT_MATCH", + "BLEU", + "ROUGE" + ], + "enumDescriptions": [ + "Unspecified computation based metric type.", + "Exact match metric.", + "BLEU metric.", + "ROUGE metric." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ComputeTokensRequest": { "description": "Request message for ComputeTokens RPC call.", "id": "GoogleCloudAiplatformV1beta1ComputeTokensRequest", @@ -41067,6 +41160,29 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ConversationTurn": { + "description": "Represents a single turn/invocation in the conversation.", + "id": "GoogleCloudAiplatformV1beta1ConversationTurn", + "properties": { + "events": { + "description": "Optional. The list of events that occurred during this turn.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1AgentEvent" + }, + "type": "array" + }, + "turnId": { + "description": "Optional. A unique identifier for the turn. Useful for referencing specific turns across systems.", + "type": "string" + }, + "turnIndex": { + "description": "Required. The 0-based index of the turn in the conversation sequence.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1CopyModelOperationMetadata": { "description": "Details of ModelService.CopyModel operation.", "id": "GoogleCloudAiplatformV1beta1CopyModelOperationMetadata", @@ -44415,6 +44531,11 @@ "id": "GoogleCloudAiplatformV1beta1EvaluationInstance", "properties": { "agentData": { + "$ref": "GoogleCloudAiplatformV1beta1EvaluationInstanceAgentData", + "deprecated": true, + "description": "Optional. Deprecated. Use `agent_eval_data` instead. Data used for agent evaluation." + }, + "agentEvalData": { "$ref": "GoogleCloudAiplatformV1beta1EvaluationInstanceAgentData", "description": "Optional. Data used for agent evaluation." }, @@ -44445,6 +44566,7 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1EvaluationInstanceAgentConfig": { + "deprecated": true, "description": "Configuration for an Agent.", "id": "GoogleCloudAiplatformV1beta1EvaluationInstanceAgentConfig", "properties": { @@ -44497,6 +44619,7 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1EvaluationInstanceAgentData": { + "deprecated": true, "description": "Contains data specific to agent evaluations.", "id": "GoogleCloudAiplatformV1beta1EvaluationInstanceAgentData", "properties": { @@ -45100,6 +45223,10 @@ "description": "The metric used for evaluation runs.", "id": "GoogleCloudAiplatformV1beta1EvaluationRunMetric", "properties": { + "computationBasedMetricSpec": { + "$ref": "GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec", + "description": "Spec for a computation based metric." + }, "llmBasedMetricSpec": { "$ref": "GoogleCloudAiplatformV1beta1EvaluationRunMetricLLMBasedMetricSpec", "description": "Spec for an LLM based metric." @@ -45123,6 +45250,37 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec": { + "description": "Specification for a computation based metric.", + "id": "GoogleCloudAiplatformV1beta1EvaluationRunMetricComputationBasedMetricSpec", + "properties": { + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. A map of parameters for the metric, e.g. {\"rouge_type\": \"rougeL\"}.", + "type": "object" + }, + "type": { + "description": "Required. The type of the computation based metric.", + "enum": [ + "COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED", + "EXACT_MATCH", + "BLEU", + "ROUGE" + ], + "enumDescriptions": [ + "Unspecified computation based metric type.", + "Exact match metric.", + "BLEU metric.", + "ROUGE metric." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1EvaluationRunMetricLLMBasedMetricSpec": { "description": "Specification for an LLM based metric.", "id": "GoogleCloudAiplatformV1beta1EvaluationRunMetricLLMBasedMetricSpec", @@ -49633,11 +49791,15 @@ "enum": [ "TRAFFIC_TYPE_UNSPECIFIED", "ON_DEMAND", + "ON_DEMAND_PRIORITY", + "ON_DEMAND_FLEX", "PROVISIONED_THROUGHPUT" ], "enumDescriptions": [ "Unspecified request traffic type.", "The request was processed using Pay-As-You-Go quota.", + "Type for Priority Pay-As-You-Go traffic.", + "Type for Flex traffic.", "Type for Provisioned Throughput traffic." ], "readOnly": true, @@ -53949,6 +54111,10 @@ "$ref": "GoogleCloudAiplatformV1beta1BleuSpec", "description": "Spec for bleu metric." }, + "computationBasedMetricSpec": { + "$ref": "GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec", + "description": "Spec for a computation based metric." + }, "customCodeExecutionSpec": { "$ref": "GoogleCloudAiplatformV1beta1CustomCodeExecutionSpec", "description": "Spec for Custom Code Execution metric." @@ -60319,6 +60485,13 @@ "description": "Required. The standard list filter to determine which memories to purge. More detail in [AIP-160](https://google.aip.dev/160).", "type": "string" }, + "filterGroups": { + "description": "Optional. Metadata filters that will be applied to the memories to be purged. Filters are defined using disjunctive normal form (OR of ANDs). For example: `filter_groups: [{filters: [{key: \"author\", value: {string_value: \"agent 123\"}, op: EQUAL}]}, {filters: [{key: \"label\", value: {string_value: \"travel\"}, op: EQUAL}, {key: \"author\", value: {string_value: \"agent 321\"}, op: EQUAL}]}]` would be equivalent to the logical expression: `(metadata.author = \"agent 123\" OR (metadata.label = \"travel\" AND metadata.author = \"agent 321\"))`.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1MemoryConjunctionFilter" + }, + "type": "array" + }, "force": { "description": "Optional. If true, the memories will actually be purged. If false, the purge request will be validated but not executed.", "type": "boolean" @@ -73536,11 +73709,15 @@ "enum": [ "TRAFFIC_TYPE_UNSPECIFIED", "ON_DEMAND", + "ON_DEMAND_PRIORITY", + "ON_DEMAND_FLEX", "PROVISIONED_THROUGHPUT" ], "enumDescriptions": [ "Unspecified request traffic type.", "Type for Pay-As-You-Go traffic.", + "Type for Priority Pay-As-You-Go traffic.", + "Type for Flex traffic.", "Type for Provisioned Throughput traffic." ], "readOnly": true, diff --git a/src/apis/aiplatform/v1.ts b/src/apis/aiplatform/v1.ts index 1462fb1752..5a4bdfd694 100644 --- a/src/apis/aiplatform/v1.ts +++ b/src/apis/aiplatform/v1.ts @@ -538,92 +538,6 @@ export namespace aiplatform_v1 { */ measurement?: Schema$GoogleCloudAiplatformV1Measurement; } - /** - * Represents data specific to multi-turn agent evaluations. - */ - export interface Schema$GoogleCloudAiplatformV1AgentData { - /** - * Optional. The static agent spec. This map defines the graph structure of the agent system. Key: agent_id (matches the `author` field in events). Value: The static configuration of the agents. - */ - agents?: { - [key: string]: Schema$GoogleCloudAiplatformV1AgentDataAgentConfig; - } | null; - /** - * Optional. A chronological list of conversation turns. Each turn represents a logical execution cycle (e.g., User Input -\> Agent Response). - */ - turns?: Schema$GoogleCloudAiplatformV1AgentDataConversationTurn[]; - } - /** - * Represents configuration for an Agent. - */ - export interface Schema$GoogleCloudAiplatformV1AgentDataAgentConfig { - /** - * Required. Unique identifier of the agent. This ID is used to refer to this agent, e.g., in AgentEvent.author, or in the `sub_agents` field. It must be unique within the `agents` map. - */ - agentId?: string | null; - /** - * Optional. The type or class of the agent (e.g., "LlmAgent", "RouterAgent", "ToolUseAgent"). Useful for the autorater to understand the expected behavior of the agent. - */ - agentType?: string | null; - /** - * Optional. A high-level description of the agent's role and responsibilities. Critical for evaluating if the agent is routing tasks correctly. - */ - description?: string | null; - /** - * Optional. Instructions from the developer for the agent. Can be static or a dynamic prompt template used with the `AgentEvent.state_delta` field. - */ - developerInstruction?: string | null; - /** - * Optional. The list of valid agent IDs that this agent can delegate to. This defines the directed edges in the agent system graph topology. - */ - subAgents?: string[] | null; - /** - * Optional. The list of tools available to this agent. - */ - tools?: Schema$GoogleCloudAiplatformV1Tool[]; - } - /** - * Represents a single event in the execution trace. - */ - export interface Schema$GoogleCloudAiplatformV1AgentDataAgentEvent { - /** - * Optional. The list of tools that were active/available to the agent at the time of this event. This overrides the `AgentConfig.tools` if set. - */ - activeTools?: Schema$GoogleCloudAiplatformV1Tool[]; - /** - * Required. The ID of the agent or entity that generated this event. Use "user" to denote events generated by the end-user. - */ - author?: string | null; - /** - * Optional. The content of the event (e.g., text response, tool call, tool response). - */ - content?: Schema$GoogleCloudAiplatformV1Content; - /** - * Optional. The timestamp when the event occurred. - */ - eventTime?: string | null; - /** - * Optional. The change in the session state caused by this event. This is a key-value map of fields that were modified or added by the event. - */ - stateDelta?: {[key: string]: any} | null; - } - /** - * Represents a single turn/invocation in the conversation. - */ - export interface Schema$GoogleCloudAiplatformV1AgentDataConversationTurn { - /** - * Optional. The list of events that occurred during this turn. - */ - events?: Schema$GoogleCloudAiplatformV1AgentDataAgentEvent[]; - /** - * Optional. A unique identifier for the turn. Useful for referencing specific turns across systems. - */ - turnId?: string | null; - /** - * Optional. The 0-based index of the turn in the conversation sequence. - */ - turnIndex?: number | null; - } /** * The aggregation result for the entire dataset and all metrics. */ @@ -1863,10 +1777,6 @@ export namespace aiplatform_v1 { * Responses from model or agent. */ export interface Schema$GoogleCloudAiplatformV1CandidateResponse { - /** - * Optional. Represents the complete execution trace of a multi-turn conversation, which can involve single or multiple agents. This field is used to provide the full output of an agent's run, including all turns and events, for direct evaluation. - */ - agentData?: Schema$GoogleCloudAiplatformV1AgentData; /** * Required. The name of the candidate that produced the response. */ @@ -2209,6 +2119,19 @@ export namespace aiplatform_v1 { */ successfulForecastPointCount?: string | null; } + /** + * Specification for a computation based metric. + */ + export interface Schema$GoogleCloudAiplatformV1ComputationBasedMetricSpec { + /** + * Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"\}. + */ + parameters?: {[key: string]: any} | null; + /** + * Required. The type of the computation based metric. + */ + type?: string | null; + } /** * Request message for ComputeTokens RPC call. */ @@ -4631,9 +4554,13 @@ export namespace aiplatform_v1 { */ export interface Schema$GoogleCloudAiplatformV1EvaluationInstance { /** - * Optional. Data used for agent evaluation. + * Optional. Deprecated. Use `agent_eval_data` instead. Data used for agent evaluation. */ agentData?: Schema$GoogleCloudAiplatformV1EvaluationInstanceAgentData; + /** + * Optional. Data used for agent evaluation. + */ + agentEvalData?: Schema$GoogleCloudAiplatformV1EvaluationInstanceAgentData; /** * Optional. Other data used to populate placeholders based on their key. */ @@ -4880,10 +4807,6 @@ export namespace aiplatform_v1 { * Prompt to be evaluated. This can represent a single-turn prompt or a multi-turn conversation for agent evaluations. */ export interface Schema$GoogleCloudAiplatformV1EvaluationPrompt { - /** - * Optional. Represents the complete execution trace of a multi-turn conversation, which can involve single or multiple agents. This serves as the input context for agent scraping. - */ - agentData?: Schema$GoogleCloudAiplatformV1AgentData; /** * Prompt template data. */ @@ -5143,6 +5066,10 @@ export namespace aiplatform_v1 { * The metric used for evaluation runs. */ export interface Schema$GoogleCloudAiplatformV1EvaluationRunMetric { + /** + * Spec for a computation based metric. + */ + computationBasedMetricSpec?: Schema$GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec; /** * Spec for an LLM based metric. */ @@ -5164,6 +5091,19 @@ export namespace aiplatform_v1 { */ rubricBasedMetricSpec?: Schema$GoogleCloudAiplatformV1EvaluationRunMetricRubricBasedMetricSpec; } + /** + * Specification for a computation based metric. + */ + export interface Schema$GoogleCloudAiplatformV1EvaluationRunMetricComputationBasedMetricSpec { + /** + * Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"\}. + */ + parameters?: {[key: string]: any} | null; + /** + * Required. The type of the computation based metric. + */ + type?: string | null; + } /** * Specification for an LLM based metric. */ @@ -10517,6 +10457,10 @@ export namespace aiplatform_v1 { * Spec for bleu metric. */ bleuSpec?: Schema$GoogleCloudAiplatformV1BleuSpec; + /** + * Spec for a computation based metric. + */ + computationBasedMetricSpec?: Schema$GoogleCloudAiplatformV1ComputationBasedMetricSpec; /** * Spec for Custom Code Execution metric. */ @@ -14277,6 +14221,10 @@ export namespace aiplatform_v1 { * Required. The standard list filter to determine which memories to purge. More detail in [AIP-160](https://google.aip.dev/160). */ filter?: string | null; + /** + * Optional. Metadata filters that will be applied to the memories to be purged. Filters are defined using disjunctive normal form (OR of ANDs). For example: `filter_groups: [{filters: [{key: "author", value: {string_value: "agent 123"\}, op: EQUAL\}]\}, {filters: [{key: "label", value: {string_value: "travel"\}, op: EQUAL\}, {key: "author", value: {string_value: "agent 321"\}, op: EQUAL\}]\}]` would be equivalent to the logical expression: `(metadata.author = "agent 123" OR (metadata.label = "travel" AND metadata.author = "agent 321"))`. + */ + filterGroups?: Schema$GoogleCloudAiplatformV1MemoryConjunctionFilter[]; /** * Optional. If true, the memories will actually be purged. If false, the purge request will be validated but not executed. */ @@ -134938,6 +134886,153 @@ export namespace aiplatform_v1 { } } + /** + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/aiplatform.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const aiplatform = google.aiplatform('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await aiplatform.projects.locations.reasoningEngines.getIamPolicy( + * { + * // Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/reasoningEngines/my-reasoningEngine', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Lists reasoning engines in a location. * @example @@ -135284,24 +135379,182 @@ export namespace aiplatform_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await aiplatform.projects.locations.reasoningEngines.query({ - * // Required. The name of the ReasoningEngine resource to use. Format: `projects/{project\}/locations/{location\}/reasoningEngines/{reasoning_engine\}` - * name: 'projects/my-project/locations/my-location/reasoningEngines/my-reasoningEngine', + * const res = await aiplatform.projects.locations.reasoningEngines.query({ + * // Required. The name of the ReasoningEngine resource to use. Format: `projects/{project\}/locations/{location\}/reasoningEngines/{reasoning_engine\}` + * name: 'projects/my-project/locations/my-location/reasoningEngines/my-reasoningEngine', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "classMethod": "my_classMethod", + * // "input": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "output": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + query( + params: Params$Resource$Projects$Locations$Reasoningengines$Query, + options: StreamMethodOptions + ): Promise>; + query( + params?: Params$Resource$Projects$Locations$Reasoningengines$Query, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + query( + params: Params$Resource$Projects$Locations$Reasoningengines$Query, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + query( + params: Params$Resource$Projects$Locations$Reasoningengines$Query, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + query( + params: Params$Resource$Projects$Locations$Reasoningengines$Query, + callback: BodyResponseCallback + ): void; + query( + callback: BodyResponseCallback + ): void; + query( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Query + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Query; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Query; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:query').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/aiplatform.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const aiplatform = google.aiplatform('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await aiplatform.projects.locations.reasoningEngines.setIamPolicy( + * { + * // REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/reasoningEngines/my-reasoningEngine', * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "classMethod": "my_classMethod", - * // "input": {} - * // } + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {} + * // } + * }, * }, - * }); + * ); * console.log(res.data); * * // Example response * // { - * // "output": {} + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -135317,62 +135570,56 @@ export namespace aiplatform_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - query( - params: Params$Resource$Projects$Locations$Reasoningengines$Query, + setIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy, options: StreamMethodOptions ): Promise>; - query( - params?: Params$Resource$Projects$Locations$Reasoningengines$Query, + setIamPolicy( + params?: Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - query( - params: Params$Resource$Projects$Locations$Reasoningengines$Query, + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - query( - params: Params$Resource$Projects$Locations$Reasoningengines$Query, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - query( - params: Params$Resource$Projects$Locations$Reasoningengines$Query, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy, + callback: BodyResponseCallback ): void; - query( - callback: BodyResponseCallback + setIamPolicy( + callback: BodyResponseCallback ): void; - query( + setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Reasoningengines$Query - | BodyResponseCallback + | Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Reasoningengines$Query; + {}) as Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Reasoningengines$Query; + {} as Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy; options = {}; } @@ -135385,26 +135632,27 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:query').replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -135556,6 +135804,158 @@ export namespace aiplatform_v1 { return createAPIRequest(parameters); } } + + /** + * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/aiplatform.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const aiplatform = google.aiplatform('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await aiplatform.projects.locations.reasoningEngines.testIamPermissions({ + * // The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + * permissions: 'placeholder-value', + * // REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * resource: + * 'projects/my-project/locations/my-location/reasoningEngines/my-reasoningEngine', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "permissions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + testIamPermissions( + params: Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } export interface Params$Resource$Projects$Locations$Reasoningengines$Create extends StandardParameters { @@ -135596,6 +135996,16 @@ export namespace aiplatform_v1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Reasoningengines$Getiampolicy extends StandardParameters { + /** + * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } export interface Params$Resource$Projects$Locations$Reasoningengines$List extends StandardParameters { /** * Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). @@ -135640,6 +136050,17 @@ export namespace aiplatform_v1 { */ requestBody?: Schema$GoogleCloudAiplatformV1QueryReasoningEngineRequest; } + export interface Params$Resource$Projects$Locations$Reasoningengines$Setiampolicy extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } export interface Params$Resource$Projects$Locations$Reasoningengines$Streamquery extends StandardParameters { /** * Required. The name of the ReasoningEngine resource to use. Format: `projects/{project\}/locations/{location\}/reasoningEngines/{reasoning_engine\}` @@ -135651,6 +136072,16 @@ export namespace aiplatform_v1 { */ requestBody?: Schema$GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest; } + export interface Params$Resource$Projects$Locations$Reasoningengines$Testiampermissions extends StandardParameters { + /** + * The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } export class Resource$Projects$Locations$Reasoningengines$Memories { context: APIRequestContext; @@ -136673,6 +137104,7 @@ export namespace aiplatform_v1 { * // request body parameters * // { * // "filter": "my_filter", + * // "filterGroups": [], * // "force": false * // } * }, From ef445dd0bc2049a80c224f7eeba29662625177a1 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:51 +0000 Subject: [PATCH 02/42] feat(alloydb)!: update the API BREAKING CHANGE: This release has breaking changes. #### alloydb:v1alpha The following keys were deleted: - schemas.ConnectionPoolConfig.properties.defaultPoolSize.deprecated - schemas.ConnectionPoolConfig.properties.defaultPoolSize.description - schemas.ConnectionPoolConfig.properties.defaultPoolSize.type - schemas.ConnectionPoolConfig.properties.enable.deprecated - schemas.ConnectionPoolConfig.properties.enable.description - schemas.ConnectionPoolConfig.properties.enable.type - schemas.ConnectionPoolConfig.properties.ignoreStartupParameters.deprecated - schemas.ConnectionPoolConfig.properties.ignoreStartupParameters.description - schemas.ConnectionPoolConfig.properties.ignoreStartupParameters.items.type - schemas.ConnectionPoolConfig.properties.ignoreStartupParameters.type - schemas.ConnectionPoolConfig.properties.maxClientConn.deprecated - schemas.ConnectionPoolConfig.properties.maxClientConn.description - schemas.ConnectionPoolConfig.properties.maxClientConn.type - schemas.ConnectionPoolConfig.properties.maxPreparedStatements.deprecated - schemas.ConnectionPoolConfig.properties.maxPreparedStatements.description - schemas.ConnectionPoolConfig.properties.maxPreparedStatements.type - schemas.ConnectionPoolConfig.properties.minPoolSize.deprecated - schemas.ConnectionPoolConfig.properties.minPoolSize.description - schemas.ConnectionPoolConfig.properties.minPoolSize.type - schemas.ConnectionPoolConfig.properties.poolMode.deprecated - schemas.ConnectionPoolConfig.properties.poolMode.description - schemas.ConnectionPoolConfig.properties.poolMode.enum - schemas.ConnectionPoolConfig.properties.poolMode.enumDescriptions - schemas.ConnectionPoolConfig.properties.poolMode.type - schemas.ConnectionPoolConfig.properties.queryWaitTimeout.deprecated - schemas.ConnectionPoolConfig.properties.queryWaitTimeout.description - schemas.ConnectionPoolConfig.properties.queryWaitTimeout.type - schemas.ConnectionPoolConfig.properties.serverIdleTimeout.deprecated - schemas.ConnectionPoolConfig.properties.serverIdleTimeout.description - schemas.ConnectionPoolConfig.properties.serverIdleTimeout.type - schemas.ConnectionPoolConfig.properties.statsUsers.deprecated - schemas.ConnectionPoolConfig.properties.statsUsers.description - schemas.ConnectionPoolConfig.properties.statsUsers.items.type - schemas.ConnectionPoolConfig.properties.statsUsers.type The following keys were added: - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.resourceFlags.description - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.resourceFlags.items.$ref - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.resourceFlags.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.id - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.properties.key.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.properties.key.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.properties.value.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.properties.value.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.isInstanceStopped.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.isInstanceStopped.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.versionUpdateTime.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.versionUpdateTime.format - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.versionUpdateTime.type The following keys were changed: - resources.projects.resources.locations.methods.list.description - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.description - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.currentState.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.currentState.enumDescriptions - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.expectedState.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.expectedState.enumDescriptions #### alloydb:v1beta The following keys were deleted: - schemas.ConnectionPoolConfig.properties.defaultPoolSize.deprecated - schemas.ConnectionPoolConfig.properties.defaultPoolSize.description - schemas.ConnectionPoolConfig.properties.defaultPoolSize.type - schemas.ConnectionPoolConfig.properties.enable.deprecated - schemas.ConnectionPoolConfig.properties.enable.description - schemas.ConnectionPoolConfig.properties.enable.type - schemas.ConnectionPoolConfig.properties.ignoreStartupParameters.deprecated - schemas.ConnectionPoolConfig.properties.ignoreStartupParameters.description - schemas.ConnectionPoolConfig.properties.ignoreStartupParameters.items.type - schemas.ConnectionPoolConfig.properties.ignoreStartupParameters.type - schemas.ConnectionPoolConfig.properties.maxClientConn.deprecated - schemas.ConnectionPoolConfig.properties.maxClientConn.description - schemas.ConnectionPoolConfig.properties.maxClientConn.type - schemas.ConnectionPoolConfig.properties.maxPreparedStatements.deprecated - schemas.ConnectionPoolConfig.properties.maxPreparedStatements.description - schemas.ConnectionPoolConfig.properties.maxPreparedStatements.type - schemas.ConnectionPoolConfig.properties.minPoolSize.deprecated - schemas.ConnectionPoolConfig.properties.minPoolSize.description - schemas.ConnectionPoolConfig.properties.minPoolSize.type - schemas.ConnectionPoolConfig.properties.poolMode.deprecated - schemas.ConnectionPoolConfig.properties.poolMode.description - schemas.ConnectionPoolConfig.properties.poolMode.enum - schemas.ConnectionPoolConfig.properties.poolMode.enumDescriptions - schemas.ConnectionPoolConfig.properties.poolMode.type - schemas.ConnectionPoolConfig.properties.queryWaitTimeout.deprecated - schemas.ConnectionPoolConfig.properties.queryWaitTimeout.description - schemas.ConnectionPoolConfig.properties.queryWaitTimeout.type - schemas.ConnectionPoolConfig.properties.serverIdleTimeout.deprecated - schemas.ConnectionPoolConfig.properties.serverIdleTimeout.description - schemas.ConnectionPoolConfig.properties.serverIdleTimeout.type - schemas.ConnectionPoolConfig.properties.statsUsers.deprecated - schemas.ConnectionPoolConfig.properties.statsUsers.description - schemas.ConnectionPoolConfig.properties.statsUsers.items.type - schemas.ConnectionPoolConfig.properties.statsUsers.type The following keys were added: - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.resourceFlags.description - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.resourceFlags.items.$ref - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.resourceFlags.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.id - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.properties.key.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.properties.key.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.properties.value.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.properties.value.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.isInstanceStopped.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.isInstanceStopped.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.versionUpdateTime.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.versionUpdateTime.format - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.versionUpdateTime.type The following keys were changed: - resources.projects.resources.locations.methods.list.description - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.description - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.currentState.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.currentState.enumDescriptions - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.expectedState.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.expectedState.enumDescriptions #### alloydb:v1 The following keys were added: - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.resourceFlags.description - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.resourceFlags.items.$ref - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.resourceFlags.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.id - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.properties.key.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.properties.key.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.properties.value.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.properties.value.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceFlags.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.isInstanceStopped.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.isInstanceStopped.type - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.versionUpdateTime.description - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.versionUpdateTime.format - schemas.StorageDatabasecenterPartnerapiV1mainResourceMaintenanceInfo.properties.versionUpdateTime.type The following keys were changed: - resources.projects.resources.locations.methods.list.description - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.description - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.currentState.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.currentState.enumDescriptions - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.expectedState.enum - schemas.StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata.properties.expectedState.enumDescriptions --- discovery/alloydb-v1.json | 49 ++++++++++++-- discovery/alloydb-v1alpha.json | 115 ++++++++++++--------------------- discovery/alloydb-v1beta.json | 115 ++++++++++++--------------------- src/apis/alloydb/v1.ts | 29 ++++++++- src/apis/alloydb/v1alpha.ts | 69 ++++++++------------ src/apis/alloydb/v1beta.ts | 69 ++++++++------------ 6 files changed, 207 insertions(+), 239 deletions(-) diff --git a/discovery/alloydb-v1.json b/discovery/alloydb-v1.json index 2e1141da06..1d60931b2f 100644 --- a/discovery/alloydb-v1.json +++ b/discovery/alloydb-v1.json @@ -357,7 +357,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "alloydb.projects.locations.list", @@ -1879,7 +1879,7 @@ } } }, - "revision": "20260122", + "revision": "20260129", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -5251,7 +5251,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 30", + "description": "Common model for database resource instance metadata. Next ID: 31", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -5283,7 +5283,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -5291,7 +5292,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -5330,7 +5332,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -5338,7 +5341,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -5426,6 +5430,13 @@ "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", "type": "string" }, + "resourceFlags": { + "description": "Optional. List of resource flags for the database resource.", + "items": { + "$ref": "StorageDatabasecenterPartnerapiV1mainResourceFlags" + }, + "type": "array" + }, "resourceName": { "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" @@ -6141,6 +6152,21 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainResourceFlags": { + "description": "Message type for storing resource flags.", + "id": "StorageDatabasecenterPartnerapiV1mainResourceFlags", + "properties": { + "key": { + "description": "Optional. Key of the resource flag.", + "type": "string" + }, + "value": { + "description": "Optional. Value of the resource flag.", + "type": "string" + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule": { "description": "Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.", "id": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule", @@ -6171,6 +6197,10 @@ }, "type": "array" }, + "isInstanceStopped": { + "description": "Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center.", + "type": "boolean" + }, "maintenanceSchedule": { "$ref": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceSchedule", "description": "Optional. Maintenance window for the database resource." @@ -6205,6 +6235,11 @@ "upcomingMaintenance": { "$ref": "StorageDatabasecenterPartnerapiV1mainUpcomingMaintenance", "description": "Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window." + }, + "versionUpdateTime": { + "description": "Optional. This field will contain the date when the last version update was applied to the database resource. This will be used to calculate the age of the maintenance version.", + "format": "google-datetime", + "type": "string" } }, "type": "object" diff --git a/discovery/alloydb-v1alpha.json b/discovery/alloydb-v1alpha.json index 8ec9213536..6e118d30a9 100644 --- a/discovery/alloydb-v1alpha.json +++ b/discovery/alloydb-v1alpha.json @@ -357,7 +357,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1alpha/projects/{projectsId}/locations", "httpMethod": "GET", "id": "alloydb.projects.locations.list", @@ -1879,7 +1879,7 @@ } } }, - "revision": "20260122", + "revision": "20260129", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -2758,16 +2758,6 @@ "description": "Configuration for Managed Connection Pool (MCP).", "id": "ConnectionPoolConfig", "properties": { - "defaultPoolSize": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The default pool size. Defaults to 20. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "enable": { - "deprecated": true, - "description": "Optional. Deprecated; Prefer 'enabled' as this will be removed soon.", - "type": "boolean" - }, "enabled": { "description": "Optional. Whether to enable Managed Connection Pool (MCP).", "type": "boolean" @@ -2779,67 +2769,11 @@ "description": "Optional. Connection Pool flags, as a list of \"key\": \"value\" pairs.", "type": "object" }, - "ignoreStartupParameters": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The list of startup parameters to ignore. Defaults to [\"extra_float_digits\"] Note: This field should not be added to client libraries if not present already.", - "items": { - "type": "string" - }, - "type": "array" - }, - "maxClientConn": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of client connections allowed. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "maxPreparedStatements": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of prepared statements allowed. MCP makes sure that any statement prepared by a client, up to this limit, is available on the backing server connection in transaction and statement pooling mode. Even if the statement was originally prepared on another server connection. Defaults to 0. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "minPoolSize": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The minimum pool size. Defaults to 0. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "poolMode": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The pool mode. Defaults to `POOL_MODE_TRANSACTION`. Note: This field should not be added to client libraries if not present already.", - "enum": [ - "POOL_MODE_UNSPECIFIED", - "POOL_MODE_SESSION", - "POOL_MODE_TRANSACTION" - ], - "enumDescriptions": [ - "The pool mode is not specified. Defaults to `POOL_MODE_TRANSACTION`.", - "Server is released back to pool after a client disconnects.", - "Server is released back to pool after a transaction finishes." - ], - "type": "string" - }, "poolerCount": { "description": "Output only. The number of running poolers per instance.", "format": "int32", "readOnly": true, "type": "integer" - }, - "queryWaitTimeout": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of seconds queries are allowed to spend waiting for execution. If the query is not assigned to a server during that time, the client is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "serverIdleTimeout": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of seconds a server is allowed to be idle before it is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "statsUsers": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The list of users that are allowed to connect to the MCP stats console. The users must exist in the database. Note: This field should not be added to client libraries if not present already.", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" @@ -5511,7 +5445,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 30", + "description": "Common model for database resource instance metadata. Next ID: 31", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -5543,7 +5477,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -5551,7 +5486,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -5590,7 +5526,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -5598,7 +5535,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -5686,6 +5624,13 @@ "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", "type": "string" }, + "resourceFlags": { + "description": "Optional. List of resource flags for the database resource.", + "items": { + "$ref": "StorageDatabasecenterPartnerapiV1mainResourceFlags" + }, + "type": "array" + }, "resourceName": { "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" @@ -6401,6 +6346,21 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainResourceFlags": { + "description": "Message type for storing resource flags.", + "id": "StorageDatabasecenterPartnerapiV1mainResourceFlags", + "properties": { + "key": { + "description": "Optional. Key of the resource flag.", + "type": "string" + }, + "value": { + "description": "Optional. Value of the resource flag.", + "type": "string" + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule": { "description": "Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.", "id": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule", @@ -6431,6 +6391,10 @@ }, "type": "array" }, + "isInstanceStopped": { + "description": "Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center.", + "type": "boolean" + }, "maintenanceSchedule": { "$ref": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceSchedule", "description": "Optional. Maintenance window for the database resource." @@ -6465,6 +6429,11 @@ "upcomingMaintenance": { "$ref": "StorageDatabasecenterPartnerapiV1mainUpcomingMaintenance", "description": "Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window." + }, + "versionUpdateTime": { + "description": "Optional. This field will contain the date when the last version update was applied to the database resource. This will be used to calculate the age of the maintenance version.", + "format": "google-datetime", + "type": "string" } }, "type": "object" diff --git a/discovery/alloydb-v1beta.json b/discovery/alloydb-v1beta.json index dc756ff9e5..a1c6ccc604 100644 --- a/discovery/alloydb-v1beta.json +++ b/discovery/alloydb-v1beta.json @@ -357,7 +357,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta/projects/{projectsId}/locations", "httpMethod": "GET", "id": "alloydb.projects.locations.list", @@ -1876,7 +1876,7 @@ } } }, - "revision": "20260122", + "revision": "20260129", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -2739,16 +2739,6 @@ "description": "Configuration for Managed Connection Pool (MCP).", "id": "ConnectionPoolConfig", "properties": { - "defaultPoolSize": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The default pool size. Defaults to 20. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "enable": { - "deprecated": true, - "description": "Optional. Deprecated; Prefer 'enabled' as this will be removed soon.", - "type": "boolean" - }, "enabled": { "description": "Optional. Whether to enable Managed Connection Pool (MCP).", "type": "boolean" @@ -2760,67 +2750,11 @@ "description": "Optional. Connection Pool flags, as a list of \"key\": \"value\" pairs.", "type": "object" }, - "ignoreStartupParameters": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The list of startup parameters to ignore. Defaults to [\"extra_float_digits\"] Note: This field should not be added to client libraries if not present already.", - "items": { - "type": "string" - }, - "type": "array" - }, - "maxClientConn": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of client connections allowed. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "maxPreparedStatements": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of prepared statements allowed. MCP makes sure that any statement prepared by a client, up to this limit, is available on the backing server connection in transaction and statement pooling mode. Even if the statement was originally prepared on another server connection. Defaults to 0. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "minPoolSize": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The minimum pool size. Defaults to 0. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "poolMode": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The pool mode. Defaults to `POOL_MODE_TRANSACTION`. Note: This field should not be added to client libraries if not present already.", - "enum": [ - "POOL_MODE_UNSPECIFIED", - "POOL_MODE_SESSION", - "POOL_MODE_TRANSACTION" - ], - "enumDescriptions": [ - "The pool mode is not specified. Defaults to `POOL_MODE_TRANSACTION`.", - "Server is released back to pool after a client disconnects.", - "Server is released back to pool after a transaction finishes." - ], - "type": "string" - }, "poolerCount": { "description": "Output only. The number of running poolers per instance.", "format": "int32", "readOnly": true, "type": "integer" - }, - "queryWaitTimeout": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of seconds queries are allowed to spend waiting for execution. If the query is not assigned to a server during that time, the client is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "serverIdleTimeout": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The maximum number of seconds a server is allowed to be idle before it is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already.", - "type": "string" - }, - "statsUsers": { - "deprecated": true, - "description": "Optional. Deprecated. Use 'flags' instead. The list of users that are allowed to connect to the MCP stats console. The users must exist in the database. Note: This field should not be added to client libraries if not present already.", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" @@ -5487,7 +5421,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 30", + "description": "Common model for database resource instance metadata. Next ID: 31", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -5519,7 +5453,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -5527,7 +5462,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -5566,7 +5502,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -5574,7 +5511,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -5662,6 +5600,13 @@ "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", "type": "string" }, + "resourceFlags": { + "description": "Optional. List of resource flags for the database resource.", + "items": { + "$ref": "StorageDatabasecenterPartnerapiV1mainResourceFlags" + }, + "type": "array" + }, "resourceName": { "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" @@ -6377,6 +6322,21 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainResourceFlags": { + "description": "Message type for storing resource flags.", + "id": "StorageDatabasecenterPartnerapiV1mainResourceFlags", + "properties": { + "key": { + "description": "Optional. Key of the resource flag.", + "type": "string" + }, + "value": { + "description": "Optional. Value of the resource flag.", + "type": "string" + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule": { "description": "Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.", "id": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule", @@ -6407,6 +6367,10 @@ }, "type": "array" }, + "isInstanceStopped": { + "description": "Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center.", + "type": "boolean" + }, "maintenanceSchedule": { "$ref": "StorageDatabasecenterPartnerapiV1mainResourceMaintenanceSchedule", "description": "Optional. Maintenance window for the database resource." @@ -6441,6 +6405,11 @@ "upcomingMaintenance": { "$ref": "StorageDatabasecenterPartnerapiV1mainUpcomingMaintenance", "description": "Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window." + }, + "versionUpdateTime": { + "description": "Optional. This field will contain the date when the last version update was applied to the database resource. This will be used to calculate the age of the maintenance version.", + "format": "google-datetime", + "type": "string" } }, "type": "object" diff --git a/src/apis/alloydb/v1.ts b/src/apis/alloydb/v1.ts index b0916fad5c..5e92082ccb 100644 --- a/src/apis/alloydb/v1.ts +++ b/src/apis/alloydb/v1.ts @@ -2049,7 +2049,7 @@ export namespace alloydb_v1 { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 30 + * Common model for database resource instance metadata. Next ID: 31 */ export interface Schema$StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata { /** @@ -2136,6 +2136,10 @@ export namespace alloydb_v1 { * Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of "/", such as "projects/123". For GCP provided resources, number should be project number. */ resourceContainer?: string | null; + /** + * Optional. List of resource flags for the database resource. + */ + resourceFlags?: Schema$StorageDatabasecenterPartnerapiV1mainResourceFlags[]; /** * Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named "ABC" is deleted, the name "ABC" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel */ @@ -2337,6 +2341,19 @@ export namespace alloydb_v1 { */ message?: string | null; } + /** + * Message type for storing resource flags. + */ + export interface Schema$StorageDatabasecenterPartnerapiV1mainResourceFlags { + /** + * Optional. Key of the resource flag. + */ + key?: string | null; + /** + * Optional. Value of the resource flag. + */ + value?: string | null; + } /** * Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer. */ @@ -2362,6 +2379,10 @@ export namespace alloydb_v1 { * Optional. List of Deny maintenance period for the database resource. */ denyMaintenanceSchedules?: Schema$StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule[]; + /** + * Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center. + */ + isInstanceStopped?: boolean | null; /** * Optional. Maintenance window for the database resource. */ @@ -2378,6 +2399,10 @@ export namespace alloydb_v1 { * Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window. */ upcomingMaintenance?: Schema$StorageDatabasecenterPartnerapiV1mainUpcomingMaintenance; + /** + * Optional. This field will contain the date when the last version update was applied to the database resource. This will be used to calculate the age of the maintenance version. + */ + versionUpdateTime?: string | null; } /** * Maintenance window for the database resource. It specifies preferred time and day of the week and phase in some cases, when the maintenance can start. This is configured by the customer. @@ -2864,7 +2889,7 @@ export namespace alloydb_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/alloydb/v1alpha.ts b/src/apis/alloydb/v1alpha.ts index 27a6f4582d..bc61738d16 100644 --- a/src/apis/alloydb/v1alpha.ts +++ b/src/apis/alloydb/v1alpha.ts @@ -656,14 +656,6 @@ export namespace alloydb_v1alpha { * Configuration for Managed Connection Pool (MCP). */ export interface Schema$ConnectionPoolConfig { - /** - * Optional. Deprecated. Use 'flags' instead. The default pool size. Defaults to 20. Note: This field should not be added to client libraries if not present already. - */ - defaultPoolSize?: string | null; - /** - * Optional. Deprecated; Prefer 'enabled' as this will be removed soon. - */ - enable?: boolean | null; /** * Optional. Whether to enable Managed Connection Pool (MCP). */ @@ -672,42 +664,10 @@ export namespace alloydb_v1alpha { * Optional. Connection Pool flags, as a list of "key": "value" pairs. */ flags?: {[key: string]: string} | null; - /** - * Optional. Deprecated. Use 'flags' instead. The list of startup parameters to ignore. Defaults to ["extra_float_digits"] Note: This field should not be added to client libraries if not present already. - */ - ignoreStartupParameters?: string[] | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of client connections allowed. Note: This field should not be added to client libraries if not present already. - */ - maxClientConn?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of prepared statements allowed. MCP makes sure that any statement prepared by a client, up to this limit, is available on the backing server connection in transaction and statement pooling mode. Even if the statement was originally prepared on another server connection. Defaults to 0. Note: This field should not be added to client libraries if not present already. - */ - maxPreparedStatements?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The minimum pool size. Defaults to 0. Note: This field should not be added to client libraries if not present already. - */ - minPoolSize?: string | null; /** * Output only. The number of running poolers per instance. */ poolerCount?: number | null; - /** - * Optional. Deprecated. Use 'flags' instead. The pool mode. Defaults to `POOL_MODE_TRANSACTION`. Note: This field should not be added to client libraries if not present already. - */ - poolMode?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of seconds queries are allowed to spend waiting for execution. If the query is not assigned to a server during that time, the client is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already. - */ - queryWaitTimeout?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of seconds a server is allowed to be idle before it is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already. - */ - serverIdleTimeout?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The list of users that are allowed to connect to the MCP stats console. The users must exist in the database. Note: This field should not be added to client libraries if not present already. - */ - statsUsers?: string[] | null; } /** * ContinuousBackupConfig describes the continuous backups recovery configurations of a cluster. @@ -2230,7 +2190,7 @@ export namespace alloydb_v1alpha { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 30 + * Common model for database resource instance metadata. Next ID: 31 */ export interface Schema$StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata { /** @@ -2317,6 +2277,10 @@ export namespace alloydb_v1alpha { * Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of "/", such as "projects/123". For GCP provided resources, number should be project number. */ resourceContainer?: string | null; + /** + * Optional. List of resource flags for the database resource. + */ + resourceFlags?: Schema$StorageDatabasecenterPartnerapiV1mainResourceFlags[]; /** * Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named "ABC" is deleted, the name "ABC" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel */ @@ -2518,6 +2482,19 @@ export namespace alloydb_v1alpha { */ message?: string | null; } + /** + * Message type for storing resource flags. + */ + export interface Schema$StorageDatabasecenterPartnerapiV1mainResourceFlags { + /** + * Optional. Key of the resource flag. + */ + key?: string | null; + /** + * Optional. Value of the resource flag. + */ + value?: string | null; + } /** * Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer. */ @@ -2543,6 +2520,10 @@ export namespace alloydb_v1alpha { * Optional. List of Deny maintenance period for the database resource. */ denyMaintenanceSchedules?: Schema$StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule[]; + /** + * Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center. + */ + isInstanceStopped?: boolean | null; /** * Optional. Maintenance window for the database resource. */ @@ -2559,6 +2540,10 @@ export namespace alloydb_v1alpha { * Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window. */ upcomingMaintenance?: Schema$StorageDatabasecenterPartnerapiV1mainUpcomingMaintenance; + /** + * Optional. This field will contain the date when the last version update was applied to the database resource. This will be used to calculate the age of the maintenance version. + */ + versionUpdateTime?: string | null; } /** * Maintenance window for the database resource. It specifies preferred time and day of the week and phase in some cases, when the maintenance can start. This is configured by the customer. @@ -3054,7 +3039,7 @@ export namespace alloydb_v1alpha { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/alloydb/v1beta.ts b/src/apis/alloydb/v1beta.ts index 36fe137f61..70852d9182 100644 --- a/src/apis/alloydb/v1beta.ts +++ b/src/apis/alloydb/v1beta.ts @@ -644,14 +644,6 @@ export namespace alloydb_v1beta { * Configuration for Managed Connection Pool (MCP). */ export interface Schema$ConnectionPoolConfig { - /** - * Optional. Deprecated. Use 'flags' instead. The default pool size. Defaults to 20. Note: This field should not be added to client libraries if not present already. - */ - defaultPoolSize?: string | null; - /** - * Optional. Deprecated; Prefer 'enabled' as this will be removed soon. - */ - enable?: boolean | null; /** * Optional. Whether to enable Managed Connection Pool (MCP). */ @@ -660,42 +652,10 @@ export namespace alloydb_v1beta { * Optional. Connection Pool flags, as a list of "key": "value" pairs. */ flags?: {[key: string]: string} | null; - /** - * Optional. Deprecated. Use 'flags' instead. The list of startup parameters to ignore. Defaults to ["extra_float_digits"] Note: This field should not be added to client libraries if not present already. - */ - ignoreStartupParameters?: string[] | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of client connections allowed. Note: This field should not be added to client libraries if not present already. - */ - maxClientConn?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of prepared statements allowed. MCP makes sure that any statement prepared by a client, up to this limit, is available on the backing server connection in transaction and statement pooling mode. Even if the statement was originally prepared on another server connection. Defaults to 0. Note: This field should not be added to client libraries if not present already. - */ - maxPreparedStatements?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The minimum pool size. Defaults to 0. Note: This field should not be added to client libraries if not present already. - */ - minPoolSize?: string | null; /** * Output only. The number of running poolers per instance. */ poolerCount?: number | null; - /** - * Optional. Deprecated. Use 'flags' instead. The pool mode. Defaults to `POOL_MODE_TRANSACTION`. Note: This field should not be added to client libraries if not present already. - */ - poolMode?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of seconds queries are allowed to spend waiting for execution. If the query is not assigned to a server during that time, the client is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already. - */ - queryWaitTimeout?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The maximum number of seconds a server is allowed to be idle before it is disconnected. 0 disables. Note: This field should not be added to client libraries if not present already. - */ - serverIdleTimeout?: string | null; - /** - * Optional. Deprecated. Use 'flags' instead. The list of users that are allowed to connect to the MCP stats console. The users must exist in the database. Note: This field should not be added to client libraries if not present already. - */ - statsUsers?: string[] | null; } /** * ContinuousBackupConfig describes the continuous backups recovery configurations of a cluster. @@ -2214,7 +2174,7 @@ export namespace alloydb_v1beta { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 30 + * Common model for database resource instance metadata. Next ID: 31 */ export interface Schema$StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata { /** @@ -2301,6 +2261,10 @@ export namespace alloydb_v1beta { * Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of "/", such as "projects/123". For GCP provided resources, number should be project number. */ resourceContainer?: string | null; + /** + * Optional. List of resource flags for the database resource. + */ + resourceFlags?: Schema$StorageDatabasecenterPartnerapiV1mainResourceFlags[]; /** * Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named "ABC" is deleted, the name "ABC" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel */ @@ -2502,6 +2466,19 @@ export namespace alloydb_v1beta { */ message?: string | null; } + /** + * Message type for storing resource flags. + */ + export interface Schema$StorageDatabasecenterPartnerapiV1mainResourceFlags { + /** + * Optional. Key of the resource flag. + */ + key?: string | null; + /** + * Optional. Value of the resource flag. + */ + value?: string | null; + } /** * Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer. */ @@ -2527,6 +2504,10 @@ export namespace alloydb_v1beta { * Optional. List of Deny maintenance period for the database resource. */ denyMaintenanceSchedules?: Schema$StorageDatabasecenterPartnerapiV1mainResourceMaintenanceDenySchedule[]; + /** + * Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center. + */ + isInstanceStopped?: boolean | null; /** * Optional. Maintenance window for the database resource. */ @@ -2543,6 +2524,10 @@ export namespace alloydb_v1beta { * Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window. */ upcomingMaintenance?: Schema$StorageDatabasecenterPartnerapiV1mainUpcomingMaintenance; + /** + * Optional. This field will contain the date when the last version update was applied to the database resource. This will be used to calculate the age of the maintenance version. + */ + versionUpdateTime?: string | null; } /** * Maintenance window for the database resource. It specifies preferred time and day of the week and phase in some cases, when the maintenance can start. This is configured by the customer. @@ -3038,7 +3023,7 @@ export namespace alloydb_v1beta { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From 49aba26afdccda474a8c97af4021fdb034789f7a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:51 +0000 Subject: [PATCH 03/42] fix(androidmanagement): update the API #### androidmanagement:v1 The following keys were changed: - schemas.ApplicationSigningKeyCert.properties.signingKeyCertFingerprintSha256.description --- discovery/androidmanagement-v1.json | 4 ++-- src/apis/androidmanagement/v1.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/discovery/androidmanagement-v1.json b/discovery/androidmanagement-v1.json index ba4ec5d382..1b31e85f68 100644 --- a/discovery/androidmanagement-v1.json +++ b/discovery/androidmanagement-v1.json @@ -1265,7 +1265,7 @@ } } }, - "revision": "20260127", + "revision": "20260204", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdbShellCommandEvent": { @@ -2432,7 +2432,7 @@ "id": "ApplicationSigningKeyCert", "properties": { "signingKeyCertFingerprintSha256": { - "description": "Required. The SHA-256 hash value of the signing key certificate of the app. This must be a valid SHA-256 hash value, i.e. 32 bytes. Otherwise, the policy is rejected.", + "description": "Required. The SHA-256 hash value of the signing key certificate of the app. This must be a valid SHA-256 hash value, i.e. 32 bytes.", "format": "byte", "type": "string" } diff --git a/src/apis/androidmanagement/v1.ts b/src/apis/androidmanagement/v1.ts index d1326c19d3..8501ebabfc 100644 --- a/src/apis/androidmanagement/v1.ts +++ b/src/apis/androidmanagement/v1.ts @@ -611,7 +611,7 @@ export namespace androidmanagement_v1 { */ export interface Schema$ApplicationSigningKeyCert { /** - * Required. The SHA-256 hash value of the signing key certificate of the app. This must be a valid SHA-256 hash value, i.e. 32 bytes. Otherwise, the policy is rejected. + * Required. The SHA-256 hash value of the signing key certificate of the app. This must be a valid SHA-256 hash value, i.e. 32 bytes. */ signingKeyCertFingerprintSha256?: string | null; } From ceb2b00b75e6126ebebddbe1af5251112bd268d8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 04/42] fix(apigateway): update the API #### apigateway:v1beta The following keys were changed: - resources.projects.resources.locations.methods.list.description #### apigateway:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/apigateway-v1.json | 4 ++-- discovery/apigateway-v1beta.json | 4 ++-- src/apis/apigateway/v1.ts | 2 +- src/apis/apigateway/v1beta.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/discovery/apigateway-v1.json b/discovery/apigateway-v1.json index 4b55b953cc..3bc24f1b06 100644 --- a/discovery/apigateway-v1.json +++ b/discovery/apigateway-v1.json @@ -134,7 +134,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "apigateway.projects.locations.list", @@ -1094,7 +1094,7 @@ } } }, - "revision": "20251210", + "revision": "20260127", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { diff --git a/discovery/apigateway-v1beta.json b/discovery/apigateway-v1beta.json index 7dd9c2f1e6..aaab400560 100644 --- a/discovery/apigateway-v1beta.json +++ b/discovery/apigateway-v1beta.json @@ -134,7 +134,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta/projects/{projectsId}/locations", "httpMethod": "GET", "id": "apigateway.projects.locations.list", @@ -1094,7 +1094,7 @@ } } }, - "revision": "20251210", + "revision": "20260127", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { diff --git a/src/apis/apigateway/v1.ts b/src/apis/apigateway/v1.ts index 84095f21fb..0289c62f90 100644 --- a/src/apis/apigateway/v1.ts +++ b/src/apis/apigateway/v1.ts @@ -763,7 +763,7 @@ export namespace apigateway_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/apigateway/v1beta.ts b/src/apis/apigateway/v1beta.ts index e8e0073db5..9333323411 100644 --- a/src/apis/apigateway/v1beta.ts +++ b/src/apis/apigateway/v1beta.ts @@ -785,7 +785,7 @@ export namespace apigateway_v1beta { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From 4e80cdfabd6fb4c4f22bc76cdc07e9dd4618e1d2 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 05/42] fix(apim): update the API #### apim:v1alpha The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/apim-v1alpha.json | 4 ++-- src/apis/apim/v1alpha.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/discovery/apim-v1alpha.json b/discovery/apim-v1alpha.json index c7f92573d6..f8f8feed7f 100644 --- a/discovery/apim-v1alpha.json +++ b/discovery/apim-v1alpha.json @@ -160,7 +160,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1alpha/projects/{projectsId}/locations", "httpMethod": "GET", "id": "apim.projects.locations.list", @@ -851,7 +851,7 @@ } } }, - "revision": "20251112", + "revision": "20260128", "rootUrl": "https://apim.googleapis.com/", "schemas": { "ApiObservation": { diff --git a/src/apis/apim/v1alpha.ts b/src/apis/apim/v1alpha.ts index 44f090f6f8..3998295b4d 100644 --- a/src/apis/apim/v1alpha.ts +++ b/src/apis/apim/v1alpha.ts @@ -956,7 +956,7 @@ export namespace apim_v1alpha { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From dc8626048e35c5ffe9b17c1f817cc6e66387dd69 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 06/42] feat(appengine): update the API #### appengine:v1beta The following keys were added: - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.description - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.flatPath - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.httpMethod - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.id - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameterOrder - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.applicationsId.description - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.applicationsId.location - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.applicationsId.required - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.applicationsId.type - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.instancesId.description - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.instancesId.location - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.instancesId.required - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.instancesId.type - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.locationsId.description - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.locationsId.location - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.locationsId.required - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.locationsId.type - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.projectsId.description - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.projectsId.location - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.projectsId.required - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.projectsId.type - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.servicesId.description - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.servicesId.location - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.servicesId.required - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.servicesId.type - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.versionsId.description - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.versionsId.location - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.versionsId.required - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.parameters.versionsId.type - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.path - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.response.$ref - resources.projects.resources.locations.resources.applications.resources.services.resources.versions.resources.instances.methods.delete.scopes --- discovery/appengine-v1beta.json | 61 +++++++++- src/apis/appengine/v1beta.ts | 195 ++++++++++++++++++++++++++++++++ 2 files changed, 255 insertions(+), 1 deletion(-) diff --git a/discovery/appengine-v1beta.json b/discovery/appengine-v1beta.json index 5b616bedd4..00d7149eb7 100644 --- a/discovery/appengine-v1beta.json +++ b/discovery/appengine-v1beta.json @@ -2697,6 +2697,65 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "delete": { + "description": "Stops a running instance.The instance might be automatically recreated based on the scaling settings of the version. For more information, see \"How Instances are Managed\" (standard environment (https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | flexible environment (https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).To ensure that instances are not re-created and avoid getting billed, you can stop all instances within the target version by changing the serving status of the version to STOPPED with the apps.services.versions.patch (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) method.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "httpMethod": "DELETE", + "id": "appengine.projects.locations.applications.services.versions.instances.delete", + "parameterOrder": [ + "projectsId", + "locationsId", + "applicationsId", + "servicesId", + "versionsId", + "instancesId" + ], + "parameters": { + "applicationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "instancesId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "locationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "projectsId": { + "description": "Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1.", + "location": "path", + "required": true, + "type": "string" + }, + "servicesId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "versionsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -2809,7 +2868,7 @@ } } }, - "revision": "20260126", + "revision": "20260202", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { diff --git a/src/apis/appengine/v1beta.ts b/src/apis/appengine/v1beta.ts index 4021bf6848..bc2706a9a6 100644 --- a/src/apis/appengine/v1beta.ts +++ b/src/apis/appengine/v1beta.ts @@ -12425,6 +12425,175 @@ export namespace appengine_v1beta { return createAPIRequest(parameters); } } + + /** + * Stops a running instance.The instance might be automatically recreated based on the scaling settings of the version. For more information, see "How Instances are Managed" (standard environment (https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | flexible environment (https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).To ensure that instances are not re-created and avoid getting billed, you can stop all instances within the target version by changing the serving status of the version to STOPPED with the apps.services.versions.patch (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) method. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/appengine.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const appengine = google.appengine('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await appengine.projects.locations.applications.services.versions.instances.delete( + * { + * // Part of `name`. See documentation of `projectsId`. + * applicationsId: 'placeholder-value', + * // Part of `name`. See documentation of `projectsId`. + * instancesId: 'placeholder-value', + * // Part of `name`. See documentation of `projectsId`. + * locationsId: 'placeholder-value', + * // Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * projectsId: 'placeholder-value', + * // Part of `name`. See documentation of `projectsId`. + * servicesId: 'placeholder-value', + * // Part of `name`. See documentation of `projectsId`. + * versionsId: 'placeholder-value', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: [ + 'projectsId', + 'locationsId', + 'applicationsId', + 'servicesId', + 'versionsId', + 'instancesId', + ], + pathParams: [ + 'applicationsId', + 'instancesId', + 'locationsId', + 'projectsId', + 'servicesId', + 'versionsId', + ], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Debug extends StandardParameters { @@ -12458,6 +12627,32 @@ export namespace appengine_v1beta { */ requestBody?: Schema$DebugInstanceRequest; } + export interface Params$Resource$Projects$Locations$Applications$Services$Versions$Instances$Delete extends StandardParameters { + /** + * Part of `name`. See documentation of `projectsId`. + */ + applicationsId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + instancesId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + locationsId?: string; + /** + * Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default/versions/v1/instances/instance-1. + */ + projectsId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + versionsId?: string; + } export class Resource$Projects$Locations$Operations { context: APIRequestContext; From cbc311e412521aeb51a52f2e000276df3ac2832e Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 07/42] fix(backupdr): update the API #### backupdr:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description - schemas.ResourceBackupConfig.properties.vaulted.description --- discovery/backupdr-v1.json | 6 +++--- src/apis/backupdr/v1.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/discovery/backupdr-v1.json b/discovery/backupdr-v1.json index 8dea492b2f..4fd3210a53 100644 --- a/discovery/backupdr-v1.json +++ b/discovery/backupdr-v1.json @@ -160,7 +160,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "backupdr.projects.locations.list", @@ -2262,7 +2262,7 @@ } } }, - "revision": "20260116", + "revision": "20260128", "rootUrl": "https://backupdr.googleapis.com/", "schemas": { "AbandonBackupRequest": { @@ -6059,7 +6059,7 @@ "type": "string" }, "vaulted": { - "description": "Output only. Whether the target resource is protected by a backup vault. This is true if the backup_configs_details is not empty and any of the ResourceBackupConfig.backup_configs_details has a backup configuration with BackupConfigDetails.backup_vault set. set.", + "description": "Output only. Whether the target resource is protected by a backup vault. This is true if the backup_configs_details is not empty and any of the ResourceBackupConfig.backup_configs_details has a backup configuration with BackupConfigDetails.backup_vault set.", "readOnly": true, "type": "boolean" } diff --git a/src/apis/backupdr/v1.ts b/src/apis/backupdr/v1.ts index 49a7885436..e03275bb8b 100644 --- a/src/apis/backupdr/v1.ts +++ b/src/apis/backupdr/v1.ts @@ -2643,7 +2643,7 @@ export namespace backupdr_v1 { */ uid?: string | null; /** - * Output only. Whether the target resource is protected by a backup vault. This is true if the backup_configs_details is not empty and any of the ResourceBackupConfig.backup_configs_details has a backup configuration with BackupConfigDetails.backup_vault set. set. + * Output only. Whether the target resource is protected by a backup vault. This is true if the backup_configs_details is not empty and any of the ResourceBackupConfig.backup_configs_details has a backup configuration with BackupConfigDetails.backup_vault set. */ vaulted?: boolean | null; } @@ -3318,7 +3318,7 @@ export namespace backupdr_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From 70bfa3b0c50bdb2895d620e6cdbb29f7fa98b96a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 08/42] fix(beyondcorp): update the API #### beyondcorp:v1alpha The following keys were changed: - resources.projects.resources.locations.methods.list.description #### beyondcorp:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/beyondcorp-v1.json | 4 ++-- discovery/beyondcorp-v1alpha.json | 4 ++-- src/apis/beyondcorp/v1.ts | 2 +- src/apis/beyondcorp/v1alpha.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/discovery/beyondcorp-v1.json b/discovery/beyondcorp-v1.json index f0896f4b7b..9439154b03 100644 --- a/discovery/beyondcorp-v1.json +++ b/discovery/beyondcorp-v1.json @@ -271,7 +271,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "beyondcorp.projects.locations.list", @@ -1909,7 +1909,7 @@ } } }, - "revision": "20251210", + "revision": "20260128", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { diff --git a/discovery/beyondcorp-v1alpha.json b/discovery/beyondcorp-v1alpha.json index 68078138bf..2b1251f138 100644 --- a/discovery/beyondcorp-v1alpha.json +++ b/discovery/beyondcorp-v1alpha.json @@ -673,7 +673,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1alpha/projects/{projectsId}/locations", "httpMethod": "GET", "id": "beyondcorp.projects.locations.list", @@ -3332,7 +3332,7 @@ } } }, - "revision": "20260107", + "revision": "20260128", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { diff --git a/src/apis/beyondcorp/v1.ts b/src/apis/beyondcorp/v1.ts index dcf9824d38..95f8902244 100644 --- a/src/apis/beyondcorp/v1.ts +++ b/src/apis/beyondcorp/v1.ts @@ -2463,7 +2463,7 @@ export namespace beyondcorp_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/beyondcorp/v1alpha.ts b/src/apis/beyondcorp/v1alpha.ts index 8d69b565b6..a34c10d9cf 100644 --- a/src/apis/beyondcorp/v1alpha.ts +++ b/src/apis/beyondcorp/v1alpha.ts @@ -4683,7 +4683,7 @@ export namespace beyondcorp_v1alpha { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From c396ff41d46e7139011e1246ed1301f305f1f5d6 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 09/42] fix(ces): update the API --- discovery/ces-v1.json | 6787 ++++++++++ discovery/ces-v1beta.json | 10528 ++++++++++++++++ src/apis/ces/README.md | 28 + src/apis/ces/index.ts | 48 + src/apis/ces/package.json | 43 + src/apis/ces/tsconfig.json | 10 + src/apis/ces/v1.ts | 13451 ++++++++++++++++++++ src/apis/ces/v1beta.ts | 20365 +++++++++++++++++++++++++++++++ src/apis/ces/webpack.config.js | 79 + 9 files changed, 51339 insertions(+) create mode 100644 discovery/ces-v1.json create mode 100644 discovery/ces-v1beta.json create mode 100644 src/apis/ces/README.md create mode 100644 src/apis/ces/index.ts create mode 100644 src/apis/ces/package.json create mode 100644 src/apis/ces/tsconfig.json create mode 100644 src/apis/ces/v1.ts create mode 100644 src/apis/ces/v1beta.ts create mode 100644 src/apis/ces/webpack.config.js diff --git a/discovery/ces-v1.json b/discovery/ces-v1.json new file mode 100644 index 0000000000..8f0c33dc54 --- /dev/null +++ b/discovery/ces-v1.json @@ -0,0 +1,6787 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/ces": { + "description": "Create, update, delete, and manage your Next Gen Agents" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://ces.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Customer Engagement Suite", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://ces.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://ces.eu.rep.googleapis.com/", + "location": "eu" + } + ], + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "ces:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://ces.mtls.googleapis.com/", + "name": "ces", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "ces.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "extraLocationTypes": { + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", + "location": "query", + "repeated": true, + "type": "string" + }, + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "apps": { + "methods": { + "create": { + "description": "Creates a new app in the given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "appId": { + "description": "Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the location to create an app in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "request": { + "$ref": "App" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the app to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "executeTool": { + "description": "Executes the given tool with the given arguments.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:executeTool", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.executeTool", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:executeTool", + "request": { + "$ref": "ExecuteToolRequest" + }, + "response": { + "$ref": "ExecuteToolResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "exportApp": { + "description": "Exports the specified app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:exportApp", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.exportApp", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app to export.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:exportApp", + "request": { + "$ref": "ExportAppRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "App" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "importApp": { + "description": "Imports the specified app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps:importApp", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.importApp", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name with the location of the app to import.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps:importApp", + "request": { + "$ref": "ImportAppRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists apps in the given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListApps call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the location to list apps from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "response": { + "$ref": "ListAppsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "App" + }, + "response": { + "$ref": "App" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveToolSchema": { + "description": "Retrieve the schema of the given tool. The schema is computed on the fly for the given instance of the tool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:retrieveToolSchema", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.retrieveToolSchema", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:retrieveToolSchema", + "request": { + "$ref": "RetrieveToolSchemaRequest" + }, + "response": { + "$ref": "RetrieveToolSchemaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "agents": { + "methods": { + "create": { + "description": "Creates a new agent in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.agents.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "agentId": { + "description": "Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create an agent in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/agents", + "request": { + "$ref": "Agent" + }, + "response": { + "$ref": "Agent" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified agent.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents/{agentsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.agents.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples. * If `force = false`, the deletion fails if other agents/examples reference it. * If `force = true`, delete the agent and remove it from all referencing apps/agents/examples.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the agent to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified agent.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents/{agentsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.agents.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the agent to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Agent" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists agents in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.agents.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListAgents call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list agents from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/agents", + "response": { + "$ref": "ListAgentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified agent.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents/{agentsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.agents.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Agent" + }, + "response": { + "$ref": "Agent" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "changelogs": { + "methods": { + "get": { + "description": "Gets the specified changelog.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/changelogs/{changelogsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.changelogs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the changelog to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/changelogs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Changelog" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the changelogs of the specified app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/changelogs", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.changelogs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details. The filter string can be used to filter by `action`, `resource_type`, `resource_name`, `author`, and `create_time`. The `:` comparator can be used for case-insensitive partial matching on string fields, while `=` performs an exact case-sensitive match. Examples: * `action:update` (case-insensitive partial match) * `action=\"Create\"` (case-sensitive exact match) * `resource_type:agent` * `resource_name:my-agent` * `author:me@example.com` * `create_time > \"2025-01-01T00:00:00Z\"` * `create_time <= \"2025-01-01T00:00:00Z\" AND resource_type:tool`", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListChangelogs call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list changelogs from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/changelogs", + "response": { + "$ref": "ListChangelogsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "conversations": { + "methods": { + "batchDelete": { + "description": "Batch deletes the specified conversations.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations:batchDelete", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.conversations.batchDelete", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app to delete conversations from. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/conversations:batchDelete", + "request": { + "$ref": "BatchDeleteConversationsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified conversation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations/{conversationsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.conversations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the conversation to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "deprecated": true, + "description": "Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified conversation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations/{conversationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.conversations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the conversation to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "deprecated": true, + "description": "Optional. Indicate the source of the conversation. If not set, all source will be searched.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Conversation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists conversations in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.conversations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListConversations call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list conversations from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "description": "Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/conversations", + "response": { + "$ref": "ListConversationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "deployments": { + "methods": { + "create": { + "description": "Creates a new deployment in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.deployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "deploymentId": { + "description": "Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "request": { + "$ref": "Deployment" + }, + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.deployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the deployment to delete. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.deployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists deployments in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified deployment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.deployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the deployment. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Deployment" + }, + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "examples": { + "methods": { + "create": { + "description": "Creates a new example in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.examples.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "exampleId": { + "description": "Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create an example in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/examples", + "request": { + "$ref": "Example" + }, + "response": { + "$ref": "Example" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified example.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples/{examplesId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.examples.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the example to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/examples/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified example.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples/{examplesId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.examples.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the example to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/examples/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Example" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists examples in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.examples.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListExamples call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list examples from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/examples", + "response": { + "$ref": "ListExamplesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified example.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples/{examplesId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.examples.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the example. Format: `projects/{project}/locations/{location}/apps/{app}/examples/{example}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/examples/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Example" + }, + "response": { + "$ref": "Example" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "guardrails": { + "methods": { + "create": { + "description": "Creates a new guardrail in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.guardrails.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "guardrailId": { + "description": "Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create a guardrail in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/guardrails", + "request": { + "$ref": "Guardrail" + }, + "response": { + "$ref": "Guardrail" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified guardrail.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails/{guardrailsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.guardrails.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any apps/agents still reference the guardrail. * If `force = true`, all existing references from apps/agents will be removed and the guardrail will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the guardrail to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/guardrails/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified guardrail.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails/{guardrailsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.guardrails.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the guardrail to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/guardrails/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Guardrail" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists guardrails in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.guardrails.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListGuardrails call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list guardrails from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/guardrails", + "response": { + "$ref": "ListGuardrailsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified guardrail.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails/{guardrailsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.guardrails.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the guardrail. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/guardrails/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Guardrail" + }, + "response": { + "$ref": "Guardrail" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "sessions": { + "methods": { + "generateChatToken": { + "description": "Generates a session scoped token for chat widget to authenticate with Session APIs.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/sessions/{sessionsId}:generateChatToken", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.sessions.generateChatToken", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The session name to generate the chat token for. Format: projects/{project}/locations/{location}/apps/{app}/sessions/{session}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/sessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:generateChatToken", + "request": { + "$ref": "GenerateChatTokenRequest" + }, + "response": { + "$ref": "GenerateChatTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "runSession": { + "description": "Initiates a single turn interaction with the CES agent within a session.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/sessions/{sessionsId}:runSession", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.sessions.runSession", + "parameterOrder": [ + "session" + ], + "parameters": { + "session": { + "description": "Required. The unique identifier of the session. Format: `projects/{project}/locations/{location}/apps/{app}/sessions/{session}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/sessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+session}:runSession", + "request": { + "$ref": "RunSessionRequest" + }, + "response": { + "$ref": "RunSessionResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "tools": { + "methods": { + "create": { + "description": "Creates a new tool in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.tools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app to create a tool in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "toolId": { + "description": "Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/tools", + "request": { + "$ref": "Tool" + }, + "response": { + "$ref": "Tool" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified tool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools/{toolsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.tools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples. * If `force = false`, the deletion will fail if any agents still reference the tool. * If `force = true`, all existing references from agents will be removed and the tool will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the tool to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/tools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified tool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools/{toolsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.tools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the tool to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/tools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Tool" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists tools in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.tools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the tools. Use \"include_system_tools=true\" to include system tools in the response. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListTools call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list tools from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/tools", + "response": { + "$ref": "ListToolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified tool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools/{toolsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.tools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the tool. Format: - `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` for ## standalone tools. `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/tools/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Tool" + }, + "response": { + "$ref": "Tool" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "toolsets": { + "methods": { + "create": { + "description": "Creates a new toolset in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.toolsets.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app to create a toolset in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "toolsetId": { + "description": "Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/toolsets", + "request": { + "$ref": "Toolset" + }, + "response": { + "$ref": "Toolset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified toolset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.toolsets.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any agents still reference the toolset. * If `force = true`, all existing references from agents will be removed and the toolset will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the toolset to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified toolset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.toolsets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the toolset to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Toolset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists toolsets in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.toolsets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListToolsets call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list toolsets from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/toolsets", + "response": { + "$ref": "ListToolsetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified toolset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.toolsets.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Toolset" + }, + "response": { + "$ref": "Toolset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveTools": { + "description": "Retrieve the list of tools included in the specified toolset.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}:retrieveTools", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.toolsets.retrieveTools", + "parameterOrder": [ + "toolset" + ], + "parameters": { + "toolset": { + "description": "Required. The name of the toolset to retrieve the tools for. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+toolset}:retrieveTools", + "request": { + "$ref": "RetrieveToolsRequest" + }, + "response": { + "$ref": "RetrieveToolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "versions": { + "methods": { + "create": { + "description": "Creates a new app version in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.versions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "appVersionId": { + "description": "Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create an app version in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/versions", + "request": { + "$ref": "AppVersion" + }, + "response": { + "$ref": "AppVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified app version.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the app version to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified app version.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app version to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "AppVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all app versions in the given app.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListAppVersions call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list app versions from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/versions", + "response": { + "$ref": "ListAppVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "restore": { + "description": "Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}:restore", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.versions.restore", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app version to restore.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:restore", + "request": { + "$ref": "RestoreAppVersionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "ces.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "ces.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20260204", + "rootUrl": "https://ces.googleapis.com/", + "schemas": { + "Action": { + "description": "Configuration of an Action for the tool to use. Note: This can be either an Action or an Operation. See https://cloud.google.com/integration-connectors/docs/entities-operation-action for details.", + "id": "Action", + "properties": { + "connectionActionId": { + "description": "ID of a Connection action for the tool to use.", + "type": "string" + }, + "entityOperation": { + "$ref": "ActionEntityOperation", + "description": "Entity operation configuration for the tool to use." + }, + "inputFields": { + "description": "Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used.", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputFields": { + "description": "Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ActionEntityOperation": { + "description": "Entity CRUD operation specification.", + "id": "ActionEntityOperation", + "properties": { + "entityId": { + "description": "Required. ID of the entity.", + "type": "string" + }, + "operation": { + "description": "Required. Operation to perform on the entity.", + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "LIST", + "GET", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Operation type unspecified. Invalid, ConnectorTool create/update will fail.", + "List operation.", + "Get operation.", + "Create operation.", + "Update operation.", + "Delete operation." + ], + "type": "string" + } + }, + "type": "object" + }, + "Agent": { + "description": "An agent acts as the fundamental building block that provides instructions to the Large Language Model (LLM) for executing specific tasks.", + "id": "Agent", + "properties": { + "afterAgentCallbacks": { + "description": "Optional. The callbacks to execute after the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "afterModelCallbacks": { + "description": "Optional. The callbacks to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "afterToolCallbacks": { + "description": "Optional. The callbacks to execute after the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "beforeAgentCallbacks": { + "description": "Optional. The callbacks to execute before the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "beforeModelCallbacks": { + "description": "Optional. The callbacks to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "beforeToolCallbacks": { + "description": "Optional. The callbacks to execute before the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "childAgents": { + "description": "Optional. List of child agents in the agent tree. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. Timestamp when the agent was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Human-readable description of the agent.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the agent.", + "type": "string" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "generatedSummary": { + "description": "Output only. If the agent is generated by the LLM assistant, this field contains a descriptive summary of the generation.", + "readOnly": true, + "type": "string" + }, + "guardrails": { + "description": "Optional. List of guardrails for the agent. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "instruction": { + "description": "Optional. Instructions for the LLM model to guide the agent's behavior.", + "type": "string" + }, + "llmAgent": { + "$ref": "AgentLlmAgent", + "description": "Optional. The default agent type." + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. Configurations for the LLM model." + }, + "name": { + "description": "Identifier. The unique identifier of the agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "remoteDialogflowAgent": { + "$ref": "AgentRemoteDialogflowAgent", + "description": "Optional. The remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored. Note: If the Dialogflow agent is in a different project from the app, you should grant `roles/dialogflow.client` to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`." + }, + "tools": { + "description": "Optional. List of available tools for the agent. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "toolsets": { + "description": "Optional. List of toolsets for the agent.", + "items": { + "$ref": "AgentAgentToolset" + }, + "type": "array" + }, + "transferRules": { + "description": "Optional. Agent transfer rules. If multiple rules match, the first one in the list will be used.", + "items": { + "$ref": "TransferRule" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. Timestamp when the agent was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AgentAgentToolset": { + "description": "A toolset with a selection of its tools.", + "id": "AgentAgentToolset", + "properties": { + "toolIds": { + "description": "Optional. The tools IDs to filter the toolset.", + "items": { + "type": "string" + }, + "type": "array" + }, + "toolset": { + "description": "Required. The resource name of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "type": "string" + } + }, + "type": "object" + }, + "AgentLlmAgent": { + "description": "Default agent type. The agent uses instructions and callbacks specified in the agent to perform the task using a large language model.", + "id": "AgentLlmAgent", + "properties": {}, + "type": "object" + }, + "AgentRemoteDialogflowAgent": { + "description": "The agent which will transfer execution to a remote [Dialogflow CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent.", + "id": "AgentRemoteDialogflowAgent", + "properties": { + "agent": { + "description": "Required. The [Dialogflow](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent resource name. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "type": "string" + }, + "environmentId": { + "description": "Optional. The environment ID of the Dialogflow agent to be used for the agent execution. If not specified, the draft environment will be used.", + "type": "string" + }, + "flowId": { + "description": "Optional. The flow ID of the flow in the Dialogflow agent.", + "type": "string" + }, + "inputVariableMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input.", + "type": "object" + }, + "outputVariableMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends.", + "type": "object" + }, + "respectResponseInterruptionSettings": { + "description": "Optional. Indicates whether to respect the message-level interruption settings configured in the Dialogflow agent. * If false: all response messages from the Dialogflow agent follow the app-level barge-in settings. * If true: only response messages with [`allow_playback_interruption`](https://docs.cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#text) set to true will be interruptable, all other messages follow the app-level barge-in settings.", + "type": "boolean" + } + }, + "type": "object" + }, + "AgentTransfer": { + "description": "Represents an event indicating the transfer of a conversation to a different agent.", + "id": "AgentTransfer", + "properties": { + "displayName": { + "description": "Output only. Display name of the agent.", + "readOnly": true, + "type": "string" + }, + "targetAgent": { + "description": "Required. The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + } + }, + "type": "object" + }, + "AmbientSoundConfig": { + "description": "Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation.", + "id": "AmbientSoundConfig", + "properties": { + "gcsUri": { + "description": "Optional. Ambient noise as a mono-channel, 16kHz WAV file stored in [Cloud Storage](https://cloud.google.com/storage). Note: Please make sure the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com` has `storage.objects.get` permission to the Cloud Storage object.", + "type": "string" + }, + "prebuiltAmbientNoise": { + "deprecated": true, + "description": "Optional. Deprecated: `prebuilt_ambient_noise` is deprecated in favor of `prebuilt_ambient_sound`.", + "enum": [ + "PREBUILT_AMBIENT_NOISE_UNSPECIFIED", + "RETAIL_STORE", + "CONVENTION_HALL", + "OUTDOOR" + ], + "enumDescriptions": [ + "Not specified.", + "Ambient noise of a retail store.", + "Ambient noise of a convention hall.", + "Ambient noise of a street." + ], + "type": "string" + }, + "prebuiltAmbientSound": { + "description": "Optional. Name of the prebuilt ambient sound. Valid values are: - \"coffee_shop\" - \"keyboard\" - \"keypad\" - \"hum\" - \"office_1\" - \"office_2\" - \"office_3\" - \"room_1\" - \"room_2\" - \"room_3\" - \"room_4\" - \"room_5\" - \"air_conditioner\"", + "type": "string" + }, + "volumeGainDb": { + "description": "Optional. Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "ApiAuthentication": { + "description": "Authentication information required for API calls.", + "id": "ApiAuthentication", + "properties": { + "apiKeyConfig": { + "$ref": "ApiKeyConfig", + "description": "Optional. Config for API key auth." + }, + "bearerTokenConfig": { + "$ref": "BearerTokenConfig", + "description": "Optional. Config for bearer token auth." + }, + "oauthConfig": { + "$ref": "OAuthConfig", + "description": "Optional. Config for OAuth." + }, + "serviceAccountAuthConfig": { + "$ref": "ServiceAccountAuthConfig", + "description": "Optional. Config for service account authentication." + }, + "serviceAgentIdTokenAuthConfig": { + "$ref": "ServiceAgentIdTokenAuthConfig", + "description": "Optional. Config for ID token auth generated from CES service agent." + } + }, + "type": "object" + }, + "ApiKeyConfig": { + "description": "Configurations for authentication with API key.", + "id": "ApiKeyConfig", + "properties": { + "apiKeySecretVersion": { + "description": "Required. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secret}/versions/{version}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + }, + "keyName": { + "description": "Required. The parameter name or the header name of the API key. E.g., If the API request is \"https://example.com/act?X-Api-Key=\", \"X-Api-Key\" would be the parameter name.", + "type": "string" + }, + "requestLocation": { + "description": "Required. Key location in the request.", + "enum": [ + "REQUEST_LOCATION_UNSPECIFIED", + "HEADER", + "QUERY_STRING" + ], + "enumDescriptions": [ + "Unspecified. This value should not be unused.", + "Represents the key in http header.", + "Represents the key in query string." + ], + "type": "string" + } + }, + "type": "object" + }, + "App": { + "description": "An app serves as a top-level container for a group of agents, including the root agent and its sub-agents, along with their associated configurations. These agents work together to achieve specific goals within the app's context.", + "id": "App", + "properties": { + "audioProcessingConfig": { + "$ref": "AudioProcessingConfig", + "description": "Optional. Audio processing configuration of the app." + }, + "clientCertificateSettings": { + "$ref": "ClientCertificateSettings", + "description": "Optional. The default client certificate settings for the app." + }, + "createTime": { + "description": "Output only. Timestamp when the app was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataStoreSettings": { + "$ref": "DataStoreSettings", + "description": "Optional. The data store settings for the app." + }, + "defaultChannelProfile": { + "$ref": "ChannelProfile", + "description": "Optional. The default channel profile used by the app." + }, + "deploymentCount": { + "description": "Output only. Number of deployments in the app.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "description": { + "description": "Optional. Human-readable description of the app.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the app.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "evaluationMetricsThresholds": { + "$ref": "EvaluationMetricsThresholds", + "description": "Optional. The evaluation thresholds for the app." + }, + "globalInstruction": { + "description": "Optional. Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.", + "type": "string" + }, + "guardrails": { + "description": "Optional. List of guardrails for the app. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "languageSettings": { + "$ref": "LanguageSettings", + "description": "Optional. Language settings of the app." + }, + "locked": { + "description": "Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected.", + "type": "boolean" + }, + "loggingSettings": { + "$ref": "LoggingSettings", + "description": "Optional. Logging settings of the app." + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.", + "type": "object" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. The default LLM model settings for the app. Individual resources (e.g. agents, guardrails) can override these configurations as needed." + }, + "name": { + "description": "Identifier. The unique identifier of the app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "type": "string" + }, + "pinned": { + "description": "Optional. Whether the app is pinned in the app list.", + "type": "boolean" + }, + "predefinedVariableDeclarations": { + "description": "Output only. The declarations of predefined variables for the app.", + "items": { + "$ref": "AppVariableDeclaration" + }, + "readOnly": true, + "type": "array" + }, + "rootAgent": { + "description": "Optional. The root agent is the entry point of the app. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "timeZoneSettings": { + "$ref": "TimeZoneSettings", + "description": "Optional. TimeZone settings of the app." + }, + "toolExecutionMode": { + "description": "Optional. The tool execution mode for the app. If not provided, will default to PARALLEL.", + "enum": [ + "TOOL_EXECUTION_MODE_UNSPECIFIED", + "PARALLEL", + "SEQUENTIAL" + ], + "enumDescriptions": [ + "Unspecified tool execution mode. Default to PARALLEL.", + "If there are multiple tools being selected, they will be executed in parallel, with the same [ToolContext](https://google.github.io/adk-docs/context/#the-different-types-of-context).", + "If there are multiple tools being selected, they will be executed sequentially. The next tool will only be executed after the previous tool completes and it can see updated [ToolContext](https://google.github.io/adk-docs/context/#the-different-types-of-context) from the previous tool." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the app was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "variableDeclarations": { + "description": "Optional. The declarations of the variables.", + "items": { + "$ref": "AppVariableDeclaration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppSnapshot": { + "description": "A snapshot of the app.", + "id": "AppSnapshot", + "properties": { + "agents": { + "description": "Optional. List of agents in the app.", + "items": { + "$ref": "Agent" + }, + "type": "array" + }, + "app": { + "$ref": "App", + "description": "Optional. The basic settings for the app." + }, + "examples": { + "description": "Optional. List of examples in the app.", + "items": { + "$ref": "Example" + }, + "type": "array" + }, + "guardrails": { + "description": "Optional. List of guardrails in the app.", + "items": { + "$ref": "Guardrail" + }, + "type": "array" + }, + "tools": { + "description": "Optional. List of tools in the app.", + "items": { + "$ref": "Tool" + }, + "type": "array" + }, + "toolsets": { + "description": "Optional. List of toolsets in the app.", + "items": { + "$ref": "Toolset" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppVariableDeclaration": { + "description": "Defines the structure and metadata for a variable.", + "id": "AppVariableDeclaration", + "properties": { + "description": { + "description": "Required. The description of the variable.", + "type": "string" + }, + "name": { + "description": "Required. The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores.", + "type": "string" + }, + "schema": { + "$ref": "Schema", + "description": "Required. The schema of the variable." + } + }, + "type": "object" + }, + "AppVersion": { + "description": "In Customer Engagement Suite (CES), an app version is a snapshot of the app at a specific point in time. It is immutable and cannot be modified once created.", + "id": "AppVersion", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the app version was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "description": "Output only. Email of the user who created the app version.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the app version.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the app version.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of the app version. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "type": "string" + }, + "snapshot": { + "$ref": "AppSnapshot", + "description": "Output only. The snapshot of the app when the version is created.", + "readOnly": true + } + }, + "type": "object" + }, + "AudioProcessingConfig": { + "description": "Configuration for how the input and output audio should be processed and delivered.", + "id": "AudioProcessingConfig", + "properties": { + "ambientSoundConfig": { + "$ref": "AmbientSoundConfig", + "description": "Optional. Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation." + }, + "bargeInConfig": { + "$ref": "BargeInConfig", + "description": "Optional. Configures the agent behavior for the user barge-in activities." + }, + "inactivityTimeout": { + "description": "Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.", + "format": "google-duration", + "type": "string" + }, + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "SynthesizeSpeechConfig" + }, + "description": "Optional. Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains \"en-us\" and \"en\", and the specified language code is \"en-gb\", then \"en\" configuration will be used. Note: Language code is case-insensitive.", + "type": "object" + } + }, + "type": "object" + }, + "AudioRecordingConfig": { + "description": "Configuration for how the audio interactions should be recorded.", + "id": "AudioRecordingConfig", + "properties": { + "gcsBucket": { + "description": "Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with \"gs://\". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + }, + "gcsPathPrefix": { + "description": "Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used.", + "type": "string" + } + }, + "type": "object" + }, + "BargeInConfig": { + "description": "Configuration for how the user barge-in activities should be handled.", + "id": "BargeInConfig", + "properties": { + "bargeInAwareness": { + "description": "Optional. If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually.", + "type": "boolean" + }, + "disableBargeIn": { + "deprecated": true, + "description": "Optional. Disables user barge-in while the agent is speaking. If true, user input during agent response playback will be ignored. Deprecated: `disable_barge_in` is deprecated in favor of `disable_barge_in_control` in ChannelProfile.", + "type": "boolean" + } + }, + "type": "object" + }, + "BatchDeleteConversationsRequest": { + "description": "Request message for AgentService.BatchDeleteConversations.", + "id": "BatchDeleteConversationsRequest", + "properties": { + "conversations": { + "description": "Required. The resource names of the conversations to delete.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BearerTokenConfig": { + "description": "Configurations for authentication with a bearer token.", + "id": "BearerTokenConfig", + "properties": { + "token": { + "description": "Required. The bearer token. Must be in the format `$context.variables.`.", + "type": "string" + } + }, + "type": "object" + }, + "BigQueryExportSettings": { + "description": "Settings to describe the BigQuery export behaviors for the app.", + "id": "BigQueryExportSettings", + "properties": { + "dataset": { + "description": "Optional. The BigQuery dataset to export the data to.", + "type": "string" + }, + "enabled": { + "description": "Optional. Indicates whether the BigQuery export is enabled.", + "type": "boolean" + }, + "project": { + "description": "Optional. The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + } + }, + "type": "object" + }, + "Blob": { + "description": "Represents a blob input or output in the conversation.", + "id": "Blob", + "properties": { + "data": { + "description": "Required. Raw bytes of the blob.", + "format": "byte", + "type": "string" + }, + "mimeType": { + "description": "Required. The IANA standard MIME type of the source data.", + "type": "string" + } + }, + "type": "object" + }, + "Callback": { + "description": "A callback defines the custom logic to be executed at various stages of agent interaction.", + "id": "Callback", + "properties": { + "description": { + "description": "Optional. Human-readable description of the callback.", + "type": "string" + }, + "disabled": { + "description": "Optional. Whether the callback is disabled. Disabled callbacks are ignored by the agent.", + "type": "boolean" + }, + "pythonCode": { + "description": "Required. The python code to execute for the callback.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Changelog": { + "description": "Changelogs represent a change made to the app or to an resource within the app.", + "id": "Changelog", + "properties": { + "action": { + "description": "Output only. The action that was performed on the resource.", + "readOnly": true, + "type": "string" + }, + "author": { + "description": "Output only. Email address of the change author.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the change was made.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dependentResources": { + "description": "Output only. The dependent resources that were changed.", + "items": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "readOnly": true, + "type": "array" + }, + "description": { + "description": "Output only. Description of the change. which typically captures the changed fields in the resource.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. Display name of the change. It typically should be the display name of the resource that was changed.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of the changelog. Format: `projects/{project}/locations/{location}/apps/{app}/changelogs/{changelog}`", + "type": "string" + }, + "newResource": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. The new resource after the change.", + "readOnly": true, + "type": "object" + }, + "originalResource": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. The original resource before the change.", + "readOnly": true, + "type": "object" + }, + "resource": { + "description": "Output only. The resource that was changed.", + "readOnly": true, + "type": "string" + }, + "resourceType": { + "description": "Output only. The type of the resource that was changed.", + "readOnly": true, + "type": "string" + }, + "sequenceNumber": { + "description": "Output only. The monotonically increasing sequence number of the changelog.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ChannelProfile": { + "description": "A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony.", + "id": "ChannelProfile", + "properties": { + "channelType": { + "description": "Optional. The type of the channel profile.", + "enum": [ + "UNKNOWN", + "WEB_UI", + "API", + "TWILIO", + "GOOGLE_TELEPHONY_PLATFORM", + "CONTACT_CENTER_AS_A_SERVICE", + "FIVE9" + ], + "enumDescriptions": [ + "Unknown channel type.", + "Web UI channel.", + "API channel.", + "Twilio channel.", + "Google Telephony Platform channel.", + "Contact Center as a Service (CCaaS) channel.", + "Five9 channel." + ], + "type": "string" + }, + "disableBargeInControl": { + "description": "Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt.", + "type": "boolean" + }, + "disableDtmf": { + "description": "Optional. Whether to disable DTMF (dual-tone multi-frequency).", + "type": "boolean" + }, + "noiseSuppressionLevel": { + "description": "Optional. The noise suppression level of the channel profile. Available values are \"low\", \"moderate\", \"high\", \"very_high\".", + "type": "string" + }, + "personaProperty": { + "$ref": "ChannelProfilePersonaProperty", + "description": "Optional. The persona property of the channel profile." + }, + "profileId": { + "description": "Optional. The unique identifier of the channel profile.", + "type": "string" + }, + "webWidgetConfig": { + "$ref": "ChannelProfileWebWidgetConfig", + "description": "Optional. The configuration for the web widget." + } + }, + "type": "object" + }, + "ChannelProfilePersonaProperty": { + "description": "Represents the persona property of a channel.", + "id": "ChannelProfilePersonaProperty", + "properties": { + "persona": { + "description": "Optional. The persona of the channel.", + "enum": [ + "UNKNOWN", + "CONCISE", + "CHATTY" + ], + "enumDescriptions": [ + "UNKNOWN persona.", + "The agent keeps the responses concise and to the point", + "The agent provides additional context, explanations, and details" + ], + "type": "string" + } + }, + "type": "object" + }, + "ChannelProfileWebWidgetConfig": { + "description": "Message for configuration for the web widget.", + "id": "ChannelProfileWebWidgetConfig", + "properties": { + "modality": { + "description": "Optional. The modality of the web widget.", + "enum": [ + "MODALITY_UNSPECIFIED", + "CHAT_AND_VOICE", + "VOICE_ONLY", + "CHAT_ONLY" + ], + "enumDescriptions": [ + "Unknown modality.", + "Widget supports both chat and voice input.", + "Widget supports only voice input.", + "Widget supports only chat input." + ], + "type": "string" + }, + "securitySettings": { + "$ref": "ChannelProfileWebWidgetConfigSecuritySettings", + "description": "Optional. The security settings of the web widget." + }, + "theme": { + "description": "Optional. The theme of the web widget.", + "enum": [ + "THEME_UNSPECIFIED", + "LIGHT", + "DARK" + ], + "enumDescriptions": [ + "Unknown theme.", + "Light theme.", + "Dark theme." + ], + "type": "string" + }, + "webWidgetTitle": { + "description": "Optional. The title of the web widget.", + "type": "string" + } + }, + "type": "object" + }, + "ChannelProfileWebWidgetConfigSecuritySettings": { + "description": "Security settings for the web widget.", + "id": "ChannelProfileWebWidgetConfigSecuritySettings", + "properties": { + "allowedOrigins": { + "description": "Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: \"https://example.com\"", + "items": { + "type": "string" + }, + "type": "array" + }, + "enableOriginCheck": { + "description": "Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins.", + "type": "boolean" + }, + "enablePublicAccess": { + "description": "Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent.", + "type": "boolean" + }, + "enableRecaptcha": { + "description": "Optional. Indicates whether reCAPTCHA verification for the web widget is enabled.", + "type": "boolean" + } + }, + "type": "object" + }, + "Chunk": { + "description": "A chunk of content within a message.", + "id": "Chunk", + "properties": { + "agentTransfer": { + "$ref": "AgentTransfer", + "description": "Optional. Agent transfer event." + }, + "defaultVariables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A struct represents default variables at the start of the conversation, keyed by variable names.", + "type": "object" + }, + "image": { + "$ref": "Image", + "description": "Optional. Image data." + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Custom payload data.", + "type": "object" + }, + "text": { + "description": "Optional. Text data.", + "type": "string" + }, + "toolCall": { + "$ref": "ToolCall", + "description": "Optional. Tool execution request." + }, + "toolResponse": { + "$ref": "ToolResponse", + "description": "Optional. Tool execution response." + }, + "transcript": { + "description": "Optional. Transcript associated with the audio.", + "type": "string" + }, + "updatedVariables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A struct represents variables that were updated in the conversation, keyed by variable names.", + "type": "object" + } + }, + "type": "object" + }, + "Citations": { + "description": "Citations associated with the agent response.", + "id": "Citations", + "properties": { + "citedChunks": { + "description": "List of cited pieces of information.", + "items": { + "$ref": "CitationsCitedChunk" + }, + "type": "array" + } + }, + "type": "object" + }, + "CitationsCitedChunk": { + "description": "Piece of cited information.", + "id": "CitationsCitedChunk", + "properties": { + "text": { + "description": "Text used for citaiton.", + "type": "string" + }, + "title": { + "description": "Title of the cited document.", + "type": "string" + }, + "uri": { + "description": "URI used for citation.", + "type": "string" + } + }, + "type": "object" + }, + "ClientCertificateSettings": { + "description": "Settings for custom client certificates.", + "id": "ClientCertificateSettings", + "properties": { + "passphrase": { + "description": "Optional. The name of the SecretManager secret version resource storing the passphrase to decrypt the private key. Should be left unset if the private key is not encrypted. Format: `projects/{project}/secrets/{secret}/versions/{version}`", + "type": "string" + }, + "privateKey": { + "description": "Required. The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: `projects/{project}/secrets/{secret}/versions/{version}`", + "type": "string" + }, + "tlsCertificate": { + "description": "Required. The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines.", + "type": "string" + } + }, + "type": "object" + }, + "ClientFunction": { + "description": "Represents a client-side function that the agent can invoke. When the tool is chosen by the agent, control is handed off to the client. The client is responsible for executing the function and returning the result as a ToolResponse to continue the interaction with the agent.", + "id": "ClientFunction", + "properties": { + "description": { + "description": "Optional. The function description.", + "type": "string" + }, + "name": { + "description": "Required. The function name.", + "type": "string" + }, + "parameters": { + "$ref": "Schema", + "description": "Optional. The schema of the function parameters." + }, + "response": { + "$ref": "Schema", + "description": "Optional. The schema of the function response." + } + }, + "type": "object" + }, + "CloudLoggingSettings": { + "description": "Settings to describe the Cloud Logging behaviors for the app.", + "id": "CloudLoggingSettings", + "properties": { + "enableCloudLogging": { + "description": "Optional. Whether to enable Cloud Logging for the sessions.", + "type": "boolean" + } + }, + "type": "object" + }, + "CodeBlock": { + "description": "A code block to be executed instead of a real tool call.", + "id": "CodeBlock", + "properties": { + "pythonCode": { + "description": "Required. Python code which will be invoked in tool fake mode. Expected Python function signature - To catch all tool calls: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: To catch a specific tool call: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: If the function returns None, the real tool will be invoked instead.", + "type": "string" + } + }, + "type": "object" + }, + "ConnectorTool": { + "description": "A ConnectorTool allows connections to different integrations. See: https://cloud.google.com/integration-connectors/docs/overview.", + "id": "ConnectorTool", + "properties": { + "action": { + "$ref": "Action", + "description": "Required. Action for the tool to use." + }, + "authConfig": { + "$ref": "EndUserAuthConfig", + "description": "Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override for details." + }, + "connection": { + "description": "Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project}/locations/{location}/connections/{connection}`", + "type": "string" + }, + "description": { + "description": "Optional. The description of the tool that can be used by the Agent to decide whether to call this ConnectorTool.", + "type": "string" + }, + "name": { + "description": "Optional. The name of the tool that can be used by the Agent to decide whether to call this ConnectorTool.", + "type": "string" + } + }, + "type": "object" + }, + "ConnectorToolset": { + "description": "A toolset that generates tools from an Integration Connectors Connection.", + "id": "ConnectorToolset", + "properties": { + "authConfig": { + "$ref": "EndUserAuthConfig", + "description": "Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the Toolset creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override" + }, + "connection": { + "description": "Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project}/locations/{location}/connections/{connection}`", + "type": "string" + }, + "connectorActions": { + "description": "Required. The list of connector actions/entity operations to generate tools for.", + "items": { + "$ref": "Action" + }, + "type": "array" + } + }, + "type": "object" + }, + "Conversation": { + "description": "A conversation represents an interaction between an end user and the CES app.", + "id": "Conversation", + "properties": { + "appVersion": { + "description": "Output only. The version of the app used for processing the conversation. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "readOnly": true, + "type": "string" + }, + "channelType": { + "deprecated": true, + "description": "DEPRECATED. Please use input_types instead.", + "enum": [ + "CHANNEL_TYPE_UNSPECIFIED", + "TEXT", + "AUDIO", + "MULTIMODAL" + ], + "enumDescriptions": [ + "Unspecified channel type.", + "The conversation only contains text messages between the end user and the agent.", + "The conversation contains audio messages between the end user and the agent.", + "The conversation multi-modal messages (e.g. image) between the end user and the agent." + ], + "type": "string" + }, + "deployment": { + "description": "Output only. The deployment of the app used for processing the conversation. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. Timestamp when the conversation was completed.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "entryAgent": { + "description": "Output only. The agent that initially handles the conversation. If not specified, the conversation is handled by the root agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "readOnly": true, + "type": "string" + }, + "inputTypes": { + "description": "Output only. The input types of the conversation.", + "items": { + "enum": [ + "INPUT_TYPE_UNSPECIFIED", + "INPUT_TYPE_TEXT", + "INPUT_TYPE_AUDIO", + "INPUT_TYPE_IMAGE", + "INPUT_TYPE_BLOB" + ], + "enumDescriptions": [ + "Unspecified input type.", + "The input message is text.", + "The input message is audio.", + "The input message is image.", + "The input message is blob file." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "languageCode": { + "description": "Output only. The language code of the conversation.", + "readOnly": true, + "type": "string" + }, + "messages": { + "deprecated": true, + "description": "Deprecated. Use turns instead.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The unique identifier of the conversation. Format: `projects/{project}/locations/{location}/apps/{app}/conversations/{conversation}`", + "type": "string" + }, + "source": { + "description": "Output only. Indicate the source of the conversation.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. Timestamp when the conversation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "turnCount": { + "description": "Output only. The number of turns in the conversation.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "turns": { + "description": "Required. The turns in the conversation.", + "items": { + "$ref": "ConversationTurn" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConversationLoggingSettings": { + "description": "Settings to describe the conversation logging behaviors for the app.", + "id": "ConversationLoggingSettings", + "properties": { + "disableConversationLogging": { + "description": "Optional. Whether to disable conversation logging for the sessions.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConversationTurn": { + "description": "All information about a single turn in the conversation.", + "id": "ConversationTurn", + "properties": { + "messages": { + "description": "Optional. List of messages in the conversation turn, including user input, agent responses and intermediate events during the processing.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "rootSpan": { + "$ref": "Span", + "description": "Optional. The root span of the action processing." + } + }, + "type": "object" + }, + "DataStore": { + "description": "A DataStore resource in Vertex AI Search.", + "id": "DataStore", + "properties": { + "connectorConfig": { + "$ref": "DataStoreConnectorConfig", + "description": "Output only. The connector config for the data store connection.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when the data store was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the data store.", + "readOnly": true, + "type": "string" + }, + "documentProcessingMode": { + "description": "Output only. The document processing mode for the data store connection. Only set for PUBLIC_WEB and UNSTRUCTURED data stores.", + "enum": [ + "DOCUMENT_PROCESSING_MODE_UNSPECIFIED", + "DOCUMENTS", + "CHUNKS" + ], + "enumDescriptions": [ + "Not specified.", + "Documents are processed as documents.", + "Documents are converted to chunks." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Full resource name of the DataStore. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`", + "type": "string" + }, + "type": { + "description": "Output only. The type of the data store. This field is readonly and populated by the server.", + "enum": [ + "DATA_STORE_TYPE_UNSPECIFIED", + "PUBLIC_WEB", + "UNSTRUCTURED", + "FAQ", + "CONNECTOR" + ], + "enumDescriptions": [ + "Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", + "A data store that contains public web content.", + "A data store that contains unstructured private data.", + "A data store that contains structured data used as FAQ.", + "A data store that is a connector to a first-party or a third-party service." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DataStoreConnectorConfig": { + "description": "The connector config for the data store connection.", + "id": "DataStoreConnectorConfig", + "properties": { + "collection": { + "description": "Resource name of the collection the data store belongs to.", + "type": "string" + }, + "collectionDisplayName": { + "description": "Display name of the collection the data store belongs to.", + "type": "string" + }, + "dataSource": { + "description": "The name of the data source. Example: `salesforce`, `jira`, `confluence`, `bigquery`.", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreSettings": { + "description": "Data store related settings for the app.", + "id": "DataStoreSettings", + "properties": { + "engines": { + "description": "Output only. The engines for the app.", + "items": { + "$ref": "DataStoreSettingsEngine" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "DataStoreSettingsEngine": { + "description": "An engine to which the data stores are connected. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.", + "id": "DataStoreSettingsEngine", + "properties": { + "name": { + "description": "Output only. The resource name of the engine. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the engine.", + "enum": [ + "TYPE_UNSPECIFIED", + "ENGINE_TYPE_SEARCH", + "ENGINE_TYPE_CHAT" + ], + "enumDescriptions": [ + "Unspecified engine type.", + "The SOLUTION_TYPE_SEARCH engine for the app. All connector data stores added to the app will be added to this engine.", + "Chat engine type. The SOLUTION_TYPE_CHAT engine for the app. All connector data stores added to the app will be added to this engine." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DataStoreTool": { + "description": "Tool to retrieve from Vertex AI Search datastore or engine for grounding. Accepts either a datastore or an engine, but not both. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.", + "id": "DataStoreTool", + "properties": { + "boostSpecs": { + "description": "Optional. Boost specification to boost certain documents.", + "items": { + "$ref": "DataStoreToolBoostSpecs" + }, + "type": "array" + }, + "dataStoreSource": { + "$ref": "DataStoreToolDataStoreSource", + "description": "Optional. Search within a single specific DataStore." + }, + "description": { + "description": "Optional. The tool description.", + "type": "string" + }, + "engineSource": { + "$ref": "DataStoreToolEngineSource", + "description": "Optional. Search within an Engine (potentially across multiple DataStores)." + }, + "filterParameterBehavior": { + "description": "Optional. The filter parameter behavior.", + "enum": [ + "FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED", + "ALWAYS_INCLUDE", + "NEVER_INCLUDE" + ], + "enumDescriptions": [ + "Default filter behavior. Include filter parameter for connector datastores. For the rest of the datastore types, the filter input parameter is omitted.", + "Always include filter parameter for all datastore types.", + "The filter parameter is never included in the list of tool parameters, regardless of the datastore type." + ], + "type": "string" + }, + "modalityConfigs": { + "description": "Optional. The modality configs for the data store.", + "items": { + "$ref": "DataStoreToolModalityConfig" + }, + "type": "array" + }, + "name": { + "description": "Required. The data store tool name.", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpec": { + "description": "Boost specification to boost certain documents.", + "id": "DataStoreToolBoostSpec", + "properties": { + "conditionBoostSpecs": { + "description": "Required. A list of boosting specifications.", + "items": { + "$ref": "DataStoreToolBoostSpecConditionBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecConditionBoostSpec": { + "description": "Boost specification for a condition.", + "id": "DataStoreToolBoostSpecConditionBoostSpec", + "properties": { + "boost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored.", + "format": "float", + "type": "number" + }, + "boostControlSpec": { + "$ref": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec", + "description": "Optional. Complex specification for custom ranking based on customer defined attribute value." + }, + "condition": { + "description": "Required. An expression which specifies a boost condition. The syntax is the same as filter expression syntax. Currently, the only supported condition is a list of BCP-47 lang codes. Example: To boost suggestions in languages en or fr: (lang_code: ANY(\"en\", \"fr\"))", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec": { + "description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", + "id": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec", + "properties": { + "attributeType": { + "description": "Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", + "enum": [ + "ATTRIBUTE_TYPE_UNSPECIFIED", + "NUMERICAL", + "FRESHNESS" + ], + "enumDescriptions": [ + "Unspecified AttributeType.", + "The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", + "For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. E.g. `5D`, `3DT12H30M`, `T24H`." + ], + "type": "string" + }, + "controlPoints": { + "description": "Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", + "items": { + "$ref": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint" + }, + "type": "array" + }, + "fieldName": { + "description": "Optional. The name of the field whose value will be used to determine the boost amount.", + "type": "string" + }, + "interpolationType": { + "description": "Optional. The interpolation type to be applied to connect the control points listed below.", + "enum": [ + "INTERPOLATION_TYPE_UNSPECIFIED", + "LINEAR" + ], + "enumDescriptions": [ + "Interpolation type is unspecified. In this case, it defaults to Linear.", + "Piecewise linear interpolation will be applied." + ], + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { + "description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", + "id": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint", + "properties": { + "attributeValue": { + "description": "Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", + "type": "string" + }, + "boostAmount": { + "description": "Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecs": { + "description": "Boost specifications to boost certain documents. For more information, please refer to https://cloud.google.com/generative-ai-app-builder/docs/boosting.", + "id": "DataStoreToolBoostSpecs", + "properties": { + "dataStores": { + "description": "Required. The Data Store where the boosting configuration is applied. Full resource name of DataStore, such as projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.", + "items": { + "type": "string" + }, + "type": "array" + }, + "spec": { + "description": "Required. A list of boosting specifications.", + "items": { + "$ref": "DataStoreToolBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "DataStoreToolDataStoreSource": { + "description": "Configuration for searching within a specific DataStore.", + "id": "DataStoreToolDataStoreSource", + "properties": { + "dataStore": { + "$ref": "DataStore", + "description": "Optional. The data store." + }, + "filter": { + "description": "Optional. Filter specification for the DataStore. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolEngineSource": { + "description": "Configuration for searching within an Engine, potentially targeting specific DataStores.", + "id": "DataStoreToolEngineSource", + "properties": { + "dataStoreSources": { + "description": "Optional. Use to target specific DataStores within the Engine. If empty, the search applies to all DataStores associated with the Engine.", + "items": { + "$ref": "DataStoreToolDataStoreSource" + }, + "type": "array" + }, + "engine": { + "description": "Required. Full resource name of the Engine. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", + "type": "string" + }, + "filter": { + "description": "Optional. A filter applied to the search across the Engine. Not relevant and not used if 'data_store_sources' is provided. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolGroundingConfig": { + "description": "Grounding configuration.", + "id": "DataStoreToolGroundingConfig", + "properties": { + "disabled": { + "description": "Optional. Whether grounding is disabled.", + "type": "boolean" + }, + "groundingLevel": { + "description": "Optional. The groundedness threshold of the answer based on the retrieved sources. The value has a configurable range of [1, 5]. The level is used to threshold the groundedness of the answer, meaning that all responses with a groundedness score below the threshold will fall back to returning relevant snippets only. For example, a level of 3 means that the groundedness score must be 3 or higher for the response to be returned.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "DataStoreToolModalityConfig": { + "description": "If specified, will apply the given configuration for the specified modality.", + "id": "DataStoreToolModalityConfig", + "properties": { + "groundingConfig": { + "$ref": "DataStoreToolGroundingConfig", + "description": "Optional. The grounding configuration." + }, + "modalityType": { + "description": "Required. The modality type.", + "enum": [ + "MODALITY_TYPE_UNSPECIFIED", + "TEXT", + "AUDIO" + ], + "enumDescriptions": [ + "Unspecified modality type.", + "Text modality.", + "Audio modality." + ], + "type": "string" + }, + "rewriterConfig": { + "$ref": "DataStoreToolRewriterConfig", + "description": "Optional. The rewriter config." + }, + "summarizationConfig": { + "$ref": "DataStoreToolSummarizationConfig", + "description": "Optional. The summarization config." + } + }, + "type": "object" + }, + "DataStoreToolRewriterConfig": { + "description": "Rewriter configuration.", + "id": "DataStoreToolRewriterConfig", + "properties": { + "disabled": { + "description": "Optional. Whether the rewriter is disabled.", + "type": "boolean" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Required. Configurations for the LLM model." + }, + "prompt": { + "description": "Optional. The prompt definition. If not set, default prompt will be used.", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolSummarizationConfig": { + "description": "Summarization configuration.", + "id": "DataStoreToolSummarizationConfig", + "properties": { + "disabled": { + "description": "Optional. Whether summarization is disabled.", + "type": "boolean" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. Configurations for the LLM model." + }, + "prompt": { + "description": "Optional. The prompt definition. If not set, default prompt will be used.", + "type": "string" + } + }, + "type": "object" + }, + "Deployment": { + "description": "A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.", + "id": "Deployment", + "properties": { + "appVersion": { + "description": "Required. The resource name of the app version to deploy. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version}", + "type": "string" + }, + "channelProfile": { + "$ref": "ChannelProfile", + "description": "Required. The channel profile used in the deployment." + }, + "createTime": { + "description": "Output only. Timestamp when this deployment was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the deployment.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the deployment. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when this deployment was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "EndSession": { + "description": "Indicates the session has terminated, due to either successful completion (e.g. user says \"Good bye!\" ) or an agent escalation. The agent will not process any further inputs after session is terminated and the client should half-close and disconnect after receiving all remaining responses from the agent.", + "id": "EndSession", + "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Provides additional information about the end session signal, such as the reason for ending the session.", + "type": "object" + } + }, + "type": "object" + }, + "EndUserAuthConfig": { + "description": "End-user authentication configuration used for Connection calls. The field values must be the names of context variables in the format `$context.variables.`.", + "id": "EndUserAuthConfig", + "properties": { + "oauth2AuthCodeConfig": { + "$ref": "EndUserAuthConfigOauth2AuthCodeConfig", + "description": "Oauth 2.0 Authorization Code authentication." + }, + "oauth2JwtBearerConfig": { + "$ref": "EndUserAuthConfigOauth2JwtBearerConfig", + "description": "JWT Profile Oauth 2.0 Authorization Grant authentication." + } + }, + "type": "object" + }, + "EndUserAuthConfigOauth2AuthCodeConfig": { + "description": "Oauth 2.0 Authorization Code authentication configuration.", + "id": "EndUserAuthConfigOauth2AuthCodeConfig", + "properties": { + "oauthToken": { + "description": "Required. Oauth token parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + } + }, + "type": "object" + }, + "EndUserAuthConfigOauth2JwtBearerConfig": { + "description": "JWT Profile Oauth 2.0 Authorization Grant authentication configuration.", + "id": "EndUserAuthConfigOauth2JwtBearerConfig", + "properties": { + "clientKey": { + "description": "Required. Client parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + }, + "issuer": { + "description": "Required. Issuer parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + }, + "subject": { + "description": "Required. Subject parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + } + }, + "type": "object" + }, + "EvaluationMetricsThresholds": { + "description": "Threshold settings for metrics in an Evaluation.", + "id": "EvaluationMetricsThresholds", + "properties": { + "goldenEvaluationMetricsThresholds": { + "$ref": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds", + "description": "Optional. The golden evaluation metrics thresholds." + }, + "goldenHallucinationMetricBehavior": { + "description": "Optional. The hallucination metric behavior for golden evaluations.", + "enum": [ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified hallucination metric behavior.", + "Disable hallucination metric.", + "Enable hallucination metric." + ], + "type": "string" + }, + "hallucinationMetricBehavior": { + "deprecated": true, + "description": "Optional. Deprecated: Use `golden_hallucination_metric_behavior` instead. The hallucination metric behavior is currently used for golden evaluations.", + "enum": [ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified hallucination metric behavior.", + "Disable hallucination metric.", + "Enable hallucination metric." + ], + "type": "string" + }, + "scenarioHallucinationMetricBehavior": { + "description": "Optional. The hallucination metric behavior for scenario evaluations.", + "enum": [ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified hallucination metric behavior.", + "Disable hallucination metric.", + "Enable hallucination metric." + ], + "type": "string" + } + }, + "type": "object" + }, + "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds": { + "description": "Settings for golden evaluations.", + "id": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds", + "properties": { + "expectationLevelMetricsThresholds": { + "$ref": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds", + "description": "Optional. The expectation level metrics thresholds." + }, + "turnLevelMetricsThresholds": { + "$ref": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds", + "description": "Optional. The turn level metrics thresholds." + } + }, + "type": "object" + }, + "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds": { + "description": "Expectation level metrics thresholds.", + "id": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds", + "properties": { + "toolInvocationParameterCorrectnessThreshold": { + "description": "Optional. The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds": { + "description": "Turn level metrics thresholds.", + "id": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds", + "properties": { + "overallToolInvocationCorrectnessThreshold": { + "description": "Optional. The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0.", + "format": "float", + "type": "number" + }, + "semanticSimilarityChannel": { + "description": "Optional. The semantic similarity channel to use for evaluation.", + "enum": [ + "SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED", + "TEXT", + "AUDIO" + ], + "enumDescriptions": [ + "Metric unspecified. Defaults to TEXT.", + "Use text semantic similarity.", + "Use audio semantic similarity." + ], + "type": "string" + }, + "semanticSimilaritySuccessThreshold": { + "description": "Optional. The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is >= 3.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Event": { + "description": "Event input.", + "id": "Event", + "properties": { + "event": { + "description": "Required. The name of the event.", + "type": "string" + } + }, + "type": "object" + }, + "Example": { + "description": "An example represents a sample conversation between the user and the agent(s).", + "id": "Example", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the example was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Human-readable description of the example.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the example.", + "type": "string" + }, + "entryAgent": { + "description": "Optional. The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "invalid": { + "description": "Output only. The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.", + "readOnly": true, + "type": "boolean" + }, + "messages": { + "description": "Optional. The collection of messages that make up the conversation.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The unique identifier of the example. Format: `projects/{project}/locations/{location}/apps/{app}/examples/{example}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the example was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ExecuteToolRequest": { + "description": "Request message for ToolService.ExecuteTool.", + "id": "ExecuteToolRequest", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The input parameters and values for the tool in JSON object format.", + "type": "object" + }, + "tool": { + "description": "Optional. The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool to execute. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned." + } + }, + "type": "object" + }, + "ExecuteToolResponse": { + "description": "Response message for ToolService.ExecuteTool.", + "id": "ExecuteToolResponse", + "properties": { + "response": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. The tool execution result in JSON object format. Use \"output\" key to specify tool response and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as tool execution result.", + "type": "object" + }, + "tool": { + "description": "The name of the tool that got executed. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "The toolset tool that got executed." + } + }, + "type": "object" + }, + "ExportAppRequest": { + "description": "Request message for AgentService.ExportApp.", + "id": "ExportAppRequest", + "properties": { + "exportFormat": { + "description": "Required. The format to export the app in.", + "enum": [ + "EXPORT_FORMAT_UNSPECIFIED", + "JSON", + "YAML" + ], + "enumDescriptions": [ + "The export format is unspecified.", + "The export format is JSON.", + "The export format is YAML." + ], + "type": "string" + }, + "gcsUri": { + "description": "Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which to export the app. The format of this URI must be `gs:///`. The exported app archive will be written directly to the specified GCS object.", + "type": "string" + } + }, + "type": "object" + }, + "ExportAppResponse": { + "description": "Response message for AgentService.ExportApp.", + "id": "ExportAppResponse", + "properties": { + "appContent": { + "description": "App folder compressed as a zip file.", + "format": "byte", + "type": "string" + }, + "appUri": { + "description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which the app was exported.", + "type": "string" + } + }, + "type": "object" + }, + "ExpressionCondition": { + "description": "Expression condition based on session state.", + "id": "ExpressionCondition", + "properties": { + "expression": { + "description": "Required. The string representation of cloud.api.Expression condition.", + "type": "string" + } + }, + "type": "object" + }, + "FileSearchTool": { + "description": "The file search tool allows the agent to search across the files uploaded by the app/agent developer. It has presets to give relatively good quality search over the uploaded files and summarization of the retrieved results.", + "id": "FileSearchTool", + "properties": { + "corpusType": { + "description": "Optional. The type of the corpus. Default is FULLY_MANAGED.", + "enum": [ + "CORPUS_TYPE_UNSPECIFIED", + "USER_OWNED", + "FULLY_MANAGED" + ], + "enumDescriptions": [ + "Unspecified corpus type.", + "The corpus is created and owned by the user.", + "The corpus is created by the agent." + ], + "type": "string" + }, + "description": { + "description": "Optional. The tool description.", + "type": "string" + }, + "fileCorpus": { + "description": "Optional. The corpus where files are stored. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}", + "type": "string" + }, + "name": { + "description": "Required. The tool name.", + "type": "string" + } + }, + "type": "object" + }, + "GenerateChatTokenRequest": { + "description": "Request message for WidgetService.GenerateChatToken.", + "id": "GenerateChatTokenRequest", + "properties": { + "deployment": { + "description": "Required. The deployment of the app to use for the session. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}", + "type": "string" + }, + "recaptchaToken": { + "description": "Optional. The reCAPTCHA token generated by the client-side chat widget.", + "type": "string" + } + }, + "type": "object" + }, + "GenerateChatTokenResponse": { + "description": "Response message for WidgetService.GenerateChatToken.", + "id": "GenerateChatTokenResponse", + "properties": { + "chatToken": { + "description": "The session scoped token for chat widget to authenticate with Session APIs.", + "type": "string" + }, + "expireTime": { + "description": "The time at which the chat token expires.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleSearchSuggestions": { + "description": "Search suggestions from Google Search Tool.", + "id": "GoogleSearchSuggestions", + "properties": { + "htmls": { + "description": "Compliant HTML and CSS styling for search suggestions. The provided HTML and CSS automatically adapts to your device settings, displaying in either light or dark mode indicated by `@media(prefers-color-scheme)`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "webSearchQueries": { + "description": "List of queries used to perform the google search along with the search result URIs forming the search suggestions.", + "items": { + "$ref": "WebSearchQuery" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleSearchTool": { + "description": "Represents a tool to perform Google web searches for grounding. See https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search.", + "id": "GoogleSearchTool", + "properties": { + "contextUrls": { + "description": "Optional. Content will be fetched directly from these URLs for context and grounding. Example: \"https://example.com/path.html\". A maximum of 20 URLs are allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Optional. Description of the tool's purpose.", + "type": "string" + }, + "excludeDomains": { + "description": "Optional. List of domains to be excluded from the search results. Example: \"example.com\". A maximum of 2000 domains can be excluded.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Required. The name of the tool.", + "type": "string" + }, + "preferredDomains": { + "description": "Optional. Specifies domains to restrict search results to. Example: \"example.com\", \"another.site\". A maximum of 20 domains can be specified.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Guardrail": { + "description": "Guardrail contains a list of checks and balances to keep the agents safe and secure.", + "id": "Guardrail", + "properties": { + "action": { + "$ref": "TriggerAction", + "description": "Optional. Action to take when the guardrail is triggered." + }, + "codeCallback": { + "$ref": "GuardrailCodeCallback", + "description": "Optional. Guardrail that potentially blocks the conversation based on the result of the callback execution." + }, + "contentFilter": { + "$ref": "GuardrailContentFilter", + "description": "Optional. Guardrail that bans certain content from being used in the conversation." + }, + "createTime": { + "description": "Output only. Timestamp when the guardrail was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the guardrail.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the guardrail.", + "type": "string" + }, + "enabled": { + "description": "Optional. Whether the guardrail is enabled.", + "type": "boolean" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "llmPolicy": { + "$ref": "GuardrailLlmPolicy", + "description": "Optional. Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification." + }, + "llmPromptSecurity": { + "$ref": "GuardrailLlmPromptSecurity", + "description": "Optional. Guardrail that blocks the conversation if the prompt is considered unsafe based on the LLM classification." + }, + "modelSafety": { + "$ref": "GuardrailModelSafety", + "description": "Optional. Guardrail that blocks the conversation if the LLM response is considered unsafe based on the model safety settings." + }, + "name": { + "description": "Identifier. The unique identifier of the guardrail. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the guardrail was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GuardrailCodeCallback": { + "description": "Guardrail that blocks the conversation based on the code callbacks provided.", + "id": "GuardrailCodeCallback", + "properties": { + "afterAgentCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute after the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + }, + "afterModelCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + }, + "beforeAgentCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute before the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + }, + "beforeModelCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + } + }, + "type": "object" + }, + "GuardrailContentFilter": { + "description": "Guardrail that bans certain content from being used in the conversation.", + "id": "GuardrailContentFilter", + "properties": { + "bannedContents": { + "description": "Optional. List of banned phrases. Applies to both user inputs and agent responses.", + "items": { + "type": "string" + }, + "type": "array" + }, + "bannedContentsInAgentResponse": { + "description": "Optional. List of banned phrases. Applies only to agent responses.", + "items": { + "type": "string" + }, + "type": "array" + }, + "bannedContentsInUserInput": { + "description": "Optional. List of banned phrases. Applies only to user inputs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "disregardDiacritics": { + "description": "Optional. If true, diacritics are ignored during matching.", + "type": "boolean" + }, + "matchType": { + "description": "Required. Match type for the content filter.", + "enum": [ + "MATCH_TYPE_UNSPECIFIED", + "SIMPLE_STRING_MATCH", + "WORD_BOUNDARY_STRING_MATCH", + "REGEXP_MATCH" + ], + "enumDescriptions": [ + "Match type is not specified.", + "Content is matched for substrings character by character.", + "Content only matches if the pattern found in the text is surrounded by word delimiters. Banned phrases can also contain word delimiters.", + "Content is matched using regular expression syntax." + ], + "type": "string" + } + }, + "type": "object" + }, + "GuardrailLlmPolicy": { + "description": "Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification.", + "id": "GuardrailLlmPolicy", + "properties": { + "allowShortUtterance": { + "description": "Optional. By default, the LLM policy check is bypassed for short utterances. Enabling this setting applies the policy check to all utterances, including those that would normally be skipped.", + "type": "boolean" + }, + "failOpen": { + "description": "Optional. If an error occurs during the policy check, fail open and do not trigger the guardrail.", + "type": "boolean" + }, + "maxConversationMessages": { + "description": "Optional. When checking this policy, consider the last 'n' messages in the conversation. When not set a default value of 10 will be used.", + "format": "int32", + "type": "integer" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. Model settings." + }, + "policyScope": { + "description": "Required. Defines when to apply the policy check during the conversation. If set to `POLICY_SCOPE_UNSPECIFIED`, the policy will be applied to the user input. When applying the policy to the agent response, additional latency will be introduced before the agent can respond.", + "enum": [ + "POLICY_SCOPE_UNSPECIFIED", + "USER_QUERY", + "AGENT_RESPONSE", + "USER_QUERY_AND_AGENT_RESPONSE" + ], + "enumDescriptions": [ + "Policy scope is not specified.", + "Policy check is triggered on user input.", + "Policy check is triggered on agent response. Applying this policy scope will introduce additional latency before the agent can respond.", + "Policy check is triggered on both user input and agent response. Applying this policy scope will introduce additional latency before the agent can respond." + ], + "type": "string" + }, + "prompt": { + "description": "Required. Policy prompt.", + "type": "string" + } + }, + "type": "object" + }, + "GuardrailLlmPromptSecurity": { + "description": "Guardrail that blocks the conversation if the input is considered unsafe based on the LLM classification.", + "id": "GuardrailLlmPromptSecurity", + "properties": { + "customPolicy": { + "$ref": "GuardrailLlmPolicy", + "description": "Optional. Use a user-defined LlmPolicy to configure the security guardrail." + }, + "defaultSettings": { + "$ref": "GuardrailLlmPromptSecurityDefaultSecuritySettings", + "description": "Optional. Use the system's predefined default security settings. To select this mode, include an empty 'default_settings' message in the request. The 'default_prompt_template' field within will be populated by the server in the response." + }, + "failOpen": { + "description": "Optional. Determines the behavior when the guardrail encounters an LLM error. - If true: the guardrail is bypassed. - If false (default): the guardrail triggers/blocks. Note: If a custom policy is provided, this field is ignored in favor of the policy's 'fail_open' configuration.", + "type": "boolean" + } + }, + "type": "object" + }, + "GuardrailLlmPromptSecurityDefaultSecuritySettings": { + "description": "Configuration for default system security settings.", + "id": "GuardrailLlmPromptSecurityDefaultSecuritySettings", + "properties": { + "defaultPromptTemplate": { + "description": "Output only. The default prompt template used by the system. This field is for display purposes to show the user what prompt the system uses by default. It is OUTPUT_ONLY.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GuardrailModelSafety": { + "description": "Model safety settings overrides. When this is set, it will override the default settings and trigger the guardrail if the response is considered unsafe.", + "id": "GuardrailModelSafety", + "properties": { + "safetySettings": { + "description": "Required. List of safety settings.", + "items": { + "$ref": "GuardrailModelSafetySafetySetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "GuardrailModelSafetySafetySetting": { + "description": "Safety setting.", + "id": "GuardrailModelSafetySafetySetting", + "properties": { + "category": { + "description": "Required. The harm category.", + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT" + ], + "enumDescriptions": [ + "The harm category is unspecified.", + "The harm category is hate speech.", + "The harm category is dangerous content.", + "The harm category is harassment.", + "The harm category is sexually explicit content." + ], + "type": "string" + }, + "threshold": { + "description": "Required. The harm block threshold.", + "enum": [ + "HARM_BLOCK_THRESHOLD_UNSPECIFIED", + "BLOCK_LOW_AND_ABOVE", + "BLOCK_MEDIUM_AND_ABOVE", + "BLOCK_ONLY_HIGH", + "BLOCK_NONE", + "OFF" + ], + "enumDescriptions": [ + "Unspecified harm block threshold.", + "Block low threshold and above (i.e. block more).", + "Block medium threshold and above.", + "Block only high threshold (i.e. block less).", + "Block none.", + "Turn off the safety filter." + ], + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "description": "Represents an image input or output in the conversation.", + "id": "Image", + "properties": { + "data": { + "description": "Required. Raw bytes of the image.", + "format": "byte", + "type": "string" + }, + "mimeType": { + "description": "Required. The IANA standard MIME type of the source data. Supported image types includes: * image/png * image/jpeg * image/webp", + "type": "string" + } + }, + "type": "object" + }, + "ImportAppRequest": { + "description": "Request message for AgentService.ImportApp.", + "id": "ImportAppRequest", + "properties": { + "appContent": { + "description": "Raw bytes representing the compressed zip file with the app folder structure.", + "format": "byte", + "type": "string" + }, + "appId": { + "description": "Optional. The ID to use for the imported app. * If not specified, a unique ID will be automatically assigned for the app. * Otherwise, the imported app will use this ID as the final component of its resource name. If an app with the same ID already exists at the specified location in the project, the content of the existing app will be replaced.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the app to import. * If the app is created on import, and the display name is specified, the imported app will use this display name. If a conflict is detected with an existing app, a timestamp will be appended to the display name to make it unique. * If the app is a reimport, this field should not be set. Providing a display name during reimport will result in an INVALID_ARGUMENT error.", + "type": "string" + }, + "gcsUri": { + "description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI from which to import app. The format of this URI must be `gs:///`.", + "type": "string" + }, + "importOptions": { + "$ref": "ImportAppRequestImportOptions", + "description": "Optional. Options governing the import process for the app." + } + }, + "type": "object" + }, + "ImportAppRequestImportOptions": { + "description": "Configuration options for the app import process. These options control how the import behaves, particularly when conflicts arise with existing app data.", + "id": "ImportAppRequestImportOptions", + "properties": { + "conflictResolutionStrategy": { + "description": "Optional. The strategy to use when resolving conflicts during import.", + "enum": [ + "CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED", + "REPLACE", + "OVERWRITE" + ], + "enumDescriptions": [ + "The conflict resolution strategy is unspecified.", + "Replace existing data with imported data. If an app with the same `app_id` already exists, its content will be updated based on the imported app. - Resources (App, Agents, Tools, Examples, Guardrails, Toolsets) in the imported app that have the same display name as existing resources will overwrite the existing ones. - Imported resources with new display names will be created. - Existing resources that do not have a matching display name in the imported app will remain untouched.", + "Overwrite existing data with imported data. If an app with the same `app_id` already exists, its content will be overwritten with the imported app. - Existing resources (Agents, Tools, Examples, Guardrails, Toolsets) in the app will be deleted. - Imported resources will be created as new resources." + ], + "type": "string" + } + }, + "type": "object" + }, + "ImportAppResponse": { + "description": "Response message for AgentService.ImportApp.", + "id": "ImportAppResponse", + "properties": { + "name": { + "description": "The resource name of the app that was imported.", + "type": "string" + }, + "warnings": { + "description": "Warning messages generated during the import process. If errors occur for specific resources, they will not be included in the imported app and the error will be mentioned here.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InputAudioConfig": { + "description": "InputAudioConfig configures how the CES agent should interpret the incoming audio data.", + "id": "InputAudioConfig", + "properties": { + "audioEncoding": { + "description": "Required. The encoding of the input audio data.", + "enum": [ + "AUDIO_ENCODING_UNSPECIFIED", + "LINEAR16", + "MULAW", + "ALAW" + ], + "enumDescriptions": [ + "Unspecified audio encoding.", + "16-bit linear PCM audio encoding.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law." + ], + "type": "string" + }, + "noiseSuppressionLevel": { + "description": "Optional. Whether to enable noise suppression on the input audio. Available values are \"low\", \"moderate\", \"high\", \"very_high\".", + "type": "string" + }, + "sampleRateHertz": { + "description": "Required. The sample rate (in Hertz) of the input audio data.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "LanguageSettings": { + "description": "Language settings of the app.", + "id": "LanguageSettings", + "properties": { + "defaultLanguageCode": { + "description": "Optional. The default language code of the app.", + "type": "string" + }, + "enableMultilingualSupport": { + "description": "Optional. Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input.", + "type": "boolean" + }, + "fallbackAction": { + "description": "Optional. The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are: - A tool's full resource name, which triggers a specific tool execution. - A predefined system action, such as \"escalate\" or \"exit\", which triggers an EndSession signal with corresponding metadata to terminate the conversation.", + "type": "string" + }, + "supportedLanguageCodes": { + "description": "Optional. List of languages codes supported by the app, in addition to the `default_language_code`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListAgentsResponse": { + "description": "Response message for AgentService.ListAgents.", + "id": "ListAgentsResponse", + "properties": { + "agents": { + "description": "The list of agents.", + "items": { + "$ref": "Agent" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListAppVersionsResponse": { + "description": "Response message for AgentService.ListAppVersions.", + "id": "ListAppVersionsResponse", + "properties": { + "appVersions": { + "description": "The list of app versions.", + "items": { + "$ref": "AppVersion" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListAppVersionsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListAppsResponse": { + "description": "Response message for AgentService.ListApps.", + "id": "ListAppsResponse", + "properties": { + "apps": { + "description": "The list of apps.", + "items": { + "$ref": "App" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListAppsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Unordered list. Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListChangelogsResponse": { + "description": "Response message for AgentService.ListChangelogs.", + "id": "ListChangelogsResponse", + "properties": { + "changelogs": { + "description": "The list of changelogs.", + "items": { + "$ref": "Changelog" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListChangelogsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListConversationsResponse": { + "description": "Response message for AgentService.ListConversations.", + "id": "ListConversationsResponse", + "properties": { + "conversations": { + "description": "The list of conversations.", + "items": { + "$ref": "Conversation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListConversationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListDeploymentsResponse": { + "description": "Response message for AgentService.ListDeployments.", + "id": "ListDeploymentsResponse", + "properties": { + "deployments": { + "description": "The list of deployments.", + "items": { + "$ref": "Deployment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListExamplesResponse": { + "description": "Response message for AgentService.ListExamples.", + "id": "ListExamplesResponse", + "properties": { + "examples": { + "description": "The list of examples.", + "items": { + "$ref": "Example" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListExamplesRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListGuardrailsResponse": { + "description": "Response message for AgentService.ListGuardrails.", + "id": "ListGuardrailsResponse", + "properties": { + "guardrails": { + "description": "The list of guardrails.", + "items": { + "$ref": "Guardrail" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListGuardrailsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + }, + "unreachable": { + "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListToolsResponse": { + "description": "Response message for AgentService.ListTools.", + "id": "ListToolsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as ListToolsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "tools": { + "description": "The list of tools.", + "items": { + "$ref": "Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListToolsetsResponse": { + "description": "Response message for AgentService.ListToolsets.", + "id": "ListToolsetsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as ListToolsetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "toolsets": { + "description": "The list of toolsets.", + "items": { + "$ref": "Toolset" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "LoggingSettings": { + "description": "Settings to describe the logging behaviors for the app.", + "id": "LoggingSettings", + "properties": { + "audioRecordingConfig": { + "$ref": "AudioRecordingConfig", + "description": "Optional. Configuration for how audio interactions should be recorded." + }, + "bigqueryExportSettings": { + "$ref": "BigQueryExportSettings", + "description": "Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled." + }, + "cloudLoggingSettings": { + "$ref": "CloudLoggingSettings", + "description": "Optional. Settings to describe the Cloud Logging behaviors for the app." + }, + "conversationLoggingSettings": { + "$ref": "ConversationLoggingSettings", + "description": "Optional. Settings to describe the conversation logging behaviors for the app." + }, + "evaluationAudioRecordingConfig": { + "$ref": "AudioRecordingConfig", + "description": "Optional. Configuration for how audio interactions should be recorded for the evaluation. By default, audio recording is not enabled for evaluation sessions." + }, + "metricAnalysisSettings": { + "$ref": "MetricAnalysisSettings", + "description": "Optional. Settings to describe the conversation data collection behaviors for the LLM analysis pipeline for the app." + }, + "redactionConfig": { + "$ref": "RedactionConfig", + "description": "Optional. Configuration for how sensitive data should be redacted." + } + }, + "type": "object" + }, + "McpTool": { + "description": "An MCP tool. See https://modelcontextprotocol.io/specification/2025-06-18/server/tools for more details.", + "id": "McpTool", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required to execute the tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication." + }, + "description": { + "description": "Optional. The description of the MCP tool.", + "type": "string" + }, + "inputSchema": { + "$ref": "Schema", + "description": "Optional. The schema of the input arguments of the MCP tool." + }, + "name": { + "description": "Required. The name of the MCP tool.", + "type": "string" + }, + "outputSchema": { + "$ref": "Schema", + "description": "Optional. The schema of the output arguments of the MCP tool." + }, + "serverAddress": { + "description": "Required. The server address of the MCP server, e.g., \"https://example.com/mcp/\". If the server is built with the MCP SDK, the url should be suffixed with \"/mcp/\". Only Streamable HTTP transport based servers are supported. This is the same as the server_address in the McpToolset. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates that the client should trust." + } + }, + "type": "object" + }, + "McpToolset": { + "description": "A toolset that contains a list of tools that are offered by the MCP server.", + "id": "McpToolset", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required to access tools and execute a tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication." + }, + "serverAddress": { + "description": "Required. The address of the MCP server, for example, \"https://example.com/mcp/\". If the server is built with the MCP SDK, the url should be suffixed with \"/mcp/\". Only Streamable HTTP transport based servers are supported. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates that the client should trust." + } + }, + "type": "object" + }, + "Message": { + "description": "A message within a conversation.", + "id": "Message", + "properties": { + "chunks": { + "description": "Optional. Content of the message as a series of chunks.", + "items": { + "$ref": "Chunk" + }, + "type": "array" + }, + "eventTime": { + "description": "Optional. Timestamp when the message was sent or received. Should not be used if the message is part of an example.", + "format": "google-datetime", + "type": "string" + }, + "role": { + "description": "Optional. The role within the conversation, e.g., user, agent.", + "type": "string" + } + }, + "type": "object" + }, + "MetricAnalysisSettings": { + "description": "Settings to describe the conversation data collection behaviors for LLM analysis metrics pipeline.", + "id": "MetricAnalysisSettings", + "properties": { + "llmMetricsOptedOut": { + "description": "Optional. Whether to collect conversation data for llm analysis metrics. If true, conversation data will not be collected for llm analysis metrics; otherwise, conversation data will be collected.", + "type": "boolean" + } + }, + "type": "object" + }, + "ModelSettings": { + "description": "Model settings contains various configurations for the LLM model.", + "id": "ModelSettings", + "properties": { + "model": { + "description": "Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.", + "type": "string" + }, + "temperature": { + "description": "Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "OAuthConfig": { + "description": "Configurations for authentication with OAuth.", + "id": "OAuthConfig", + "properties": { + "clientId": { + "description": "Required. The client ID from the OAuth provider.", + "type": "string" + }, + "clientSecretVersion": { + "description": "Required. The name of the SecretManager secret version resource storing the client secret. Format: `projects/{project}/secrets/{secret}/versions/{version}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + }, + "oauthGrantType": { + "description": "Required. OAuth grant types.", + "enum": [ + "OAUTH_GRANT_TYPE_UNSPECIFIED", + "CLIENT_CREDENTIAL" + ], + "enumDescriptions": [ + "Unspecified. Defaults to CLIENT_CREDENTIAL.", + "Represents the [client credential flow](https://oauth.net/2/grant-types/client-credentials)." + ], + "type": "string" + }, + "scopes": { + "description": "Optional. The OAuth scopes to grant.", + "items": { + "type": "string" + }, + "type": "array" + }, + "tokenEndpoint": { + "description": "Required. The token endpoint in the OAuth provider to exchange for an access token.", + "type": "string" + } + }, + "type": "object" + }, + "Omnichannel": { + "description": "Represents an Omnichannel resource.", + "id": "Omnichannel", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the omnichannel resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Human-readable description of the omnichannel resource.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the omnichannel resource.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation.", + "readOnly": true, + "type": "string" + }, + "integrationConfig": { + "$ref": "OmnichannelIntegrationConfig", + "description": "Optional. The integration config for the omnichannel resource." + }, + "name": { + "description": "Identifier. The unique identifier of the omnichannel resource. Format: `projects/{project}/locations/{location}/omnichannels/{omnichannel}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the omnichannel resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfig": { + "description": "OmnichannelIntegrationConfig contains all App integration configs.", + "id": "OmnichannelIntegrationConfig", + "properties": { + "channelConfigs": { + "additionalProperties": { + "$ref": "OmnichannelIntegrationConfigChannelConfig" + }, + "description": "Optional. Various of configuration for handling App events.", + "type": "object" + }, + "routingConfigs": { + "additionalProperties": { + "$ref": "OmnichannelIntegrationConfigRoutingConfig" + }, + "description": "Optional. The key of routing_configs is a key of `app_configs`, value is a `RoutingConfig`, which contains subscriber's key.", + "type": "object" + }, + "subscriberConfigs": { + "additionalProperties": { + "$ref": "OmnichannelIntegrationConfigSubscriberConfig" + }, + "description": "Optional. Various of subscribers configs.", + "type": "object" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigCesAppConfig": { + "description": "Configs for CES app.", + "id": "OmnichannelIntegrationConfigCesAppConfig", + "properties": { + "app": { + "description": "The unique identifier of the CES app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigChannelConfig": { + "description": "ChannelConfig contains config for various of app integration.", + "id": "OmnichannelIntegrationConfigChannelConfig", + "properties": { + "whatsappConfig": { + "$ref": "OmnichannelIntegrationConfigWhatsappConfig", + "description": "WhatsApp config." + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigRoutingConfig": { + "description": "Routing config specify how/who to route app events to a subscriber.", + "id": "OmnichannelIntegrationConfigRoutingConfig", + "properties": { + "subscriberKey": { + "description": "The key of the subscriber.", + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigSubscriberConfig": { + "description": "Configs of subscribers.", + "id": "OmnichannelIntegrationConfigSubscriberConfig", + "properties": { + "cesAppConfig": { + "$ref": "OmnichannelIntegrationConfigCesAppConfig", + "description": "Ces app config." + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigWhatsappConfig": { + "description": "How Omnichannel should receive/reply events from WhatsApp.", + "id": "OmnichannelIntegrationConfigWhatsappConfig", + "properties": { + "metaBusinessPortfolioId": { + "description": "The Meta Business Portfolio (MBP) ID. https://www.facebook.com/business/help/1710077379203657", + "type": "string" + }, + "phoneNumber": { + "description": "The phone number used for sending/receiving messages.", + "type": "string" + }, + "phoneNumberId": { + "description": "The Phone Number ID associated with the WhatsApp Business Account.", + "type": "string" + }, + "webhookVerifyToken": { + "description": "The verify token configured in the Meta App Dashboard for webhook verification.", + "type": "string" + }, + "whatsappBusinessAccountId": { + "description": "The customer's WhatsApp Business Account (WABA) ID.", + "type": "string" + }, + "whatsappBusinessToken": { + "description": "The access token for authenticating API calls to the WhatsApp Cloud API. https://developers.facebook.com/docs/whatsapp/business-management-api/get-started/#business-integration-system-user-access-tokens", + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelOperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OmnichannelOperationMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OpenApiTool": { + "description": "A remote API tool defined by an OpenAPI schema.", + "id": "OpenApiTool", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required by the API." + }, + "description": { + "description": "Optional. The description of the tool. If not provided, the description of the tool will be derived from the OpenAPI schema, from `operation.description` or `operation.summary`.", + "type": "string" + }, + "ignoreUnknownFields": { + "description": "Optional. If true, the agent will ignore unknown fields in the API response.", + "type": "boolean" + }, + "name": { + "description": "Optional. The name of the tool. If not provided, the name of the tool will be derived from the OpenAPI schema, from `operation.operationId`.", + "type": "string" + }, + "openApiSchema": { + "description": "Required. The OpenAPI schema in JSON or YAML format.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates that the client will trust." + }, + "url": { + "description": "Optional. The server URL of the Open API schema. This field is only set in tools in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.", + "type": "string" + } + }, + "type": "object" + }, + "OpenApiToolset": { + "description": "A toolset that contains a list of tools that are defined by an OpenAPI schema.", + "id": "OpenApiToolset", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required by the API." + }, + "ignoreUnknownFields": { + "description": "Optional. If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema.", + "type": "boolean" + }, + "openApiSchema": { + "description": "Required. The OpenAPI schema of the toolset.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates" + }, + "url": { + "description": "Optional. The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OutputAudioConfig": { + "description": "OutputAudioConfig configures how the CES agent should synthesize outgoing audio responses.", + "id": "OutputAudioConfig", + "properties": { + "audioEncoding": { + "description": "Required. The encoding of the output audio data.", + "enum": [ + "AUDIO_ENCODING_UNSPECIFIED", + "LINEAR16", + "MULAW", + "ALAW" + ], + "enumDescriptions": [ + "Unspecified audio encoding.", + "16-bit linear PCM audio encoding.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law." + ], + "type": "string" + }, + "sampleRateHertz": { + "description": "Required. The sample rate (in Hertz) of the output audio data.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "PythonCodeCondition": { + "description": "Python code block to evaluate the condition.", + "id": "PythonCodeCondition", + "properties": { + "pythonCode": { + "description": "Required. The python code to execute.", + "type": "string" + } + }, + "type": "object" + }, + "PythonFunction": { + "description": "A Python function tool.", + "id": "PythonFunction", + "properties": { + "description": { + "description": "Output only. The description of the Python function, parsed from the python code's docstring.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used.", + "type": "string" + }, + "pythonCode": { + "description": "Optional. The Python code to execute for the tool.", + "type": "string" + } + }, + "type": "object" + }, + "RedactionConfig": { + "description": "Configuration to instruct how sensitive data should be handled.", + "id": "RedactionConfig", + "properties": { + "deidentifyTemplate": { + "description": "Optional. [DLP](https://cloud.google.com/dlp/docs) deidentify template name to instruct on how to de-identify content. Format: `projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}`", + "type": "string" + }, + "enableRedaction": { + "description": "Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording.", + "type": "boolean" + }, + "inspectTemplate": { + "description": "Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}`", + "type": "string" + } + }, + "type": "object" + }, + "RestoreAppVersionRequest": { + "description": "Request message for AgentService.RestoreAppVersion", + "id": "RestoreAppVersionRequest", + "properties": {}, + "type": "object" + }, + "RetrieveToolSchemaRequest": { + "description": "Request message for ToolService.RetrieveToolSchema.", + "id": "RetrieveToolSchemaRequest", + "properties": { + "tool": { + "description": "Optional. The name of the tool to retrieve the schema for. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool to retrieve the schema for. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned." + } + }, + "type": "object" + }, + "RetrieveToolSchemaResponse": { + "description": "Response message for ToolService.RetrieveToolSchema.", + "id": "RetrieveToolSchemaResponse", + "properties": { + "inputSchema": { + "$ref": "Schema", + "description": "Required. The schema of the tool input parameters." + }, + "outputSchema": { + "$ref": "Schema", + "description": "Required. The schema of the tool output parameters." + }, + "tool": { + "description": "The name of the tool that the schema is for. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "The toolset tool that the schema is for." + } + }, + "type": "object" + }, + "RetrieveToolsRequest": { + "description": "Request message for ToolService.RetrieveTools.", + "id": "RetrieveToolsRequest", + "properties": { + "toolIds": { + "description": "Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RetrieveToolsResponse": { + "description": "Response message for ToolService.RetrieveTools.", + "id": "RetrieveToolsResponse", + "properties": { + "tools": { + "description": "Required. The list of tools that are included in the specified toolset.", + "items": { + "$ref": "Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunSessionRequest": { + "description": "Request message for SessionService.RunSession.", + "id": "RunSessionRequest", + "properties": { + "config": { + "$ref": "SessionConfig", + "description": "Required. The configuration for the session." + }, + "inputs": { + "description": "Required. Inputs for the session.", + "items": { + "$ref": "SessionInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunSessionResponse": { + "description": "Response message for SessionService.RunSession.", + "id": "RunSessionResponse", + "properties": { + "outputs": { + "description": "Outputs for the session.", + "items": { + "$ref": "SessionOutput" + }, + "type": "array" + } + }, + "type": "object" + }, + "Schema": { + "description": "Represents a select subset of an OpenAPI 3.0 schema object.", + "id": "Schema", + "properties": { + "additionalProperties": { + "$ref": "Schema", + "description": "Optional. Can either be a boolean or an object, controls the presence of additional properties." + }, + "anyOf": { + "description": "Optional. The value should be validated against any (one or more) of the subschemas in the list.", + "items": { + "$ref": "Schema" + }, + "type": "array" + }, + "default": { + "description": "Optional. Default value of the data.", + "type": "any" + }, + "defs": { + "additionalProperties": { + "$ref": "Schema" + }, + "description": "Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema.", + "type": "object" + }, + "description": { + "description": "Optional. The description of the data.", + "type": "string" + }, + "enum": { + "description": "Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:[\"101\", \"201\", \"301\"]}", + "items": { + "type": "string" + }, + "type": "array" + }, + "items": { + "$ref": "Schema", + "description": "Optional. Schema of the elements of Type.ARRAY." + }, + "maxItems": { + "description": "Optional. Maximum number of the elements for Type.ARRAY.", + "format": "int64", + "type": "string" + }, + "maximum": { + "description": "Optional. Maximum value for Type.INTEGER and Type.NUMBER.", + "format": "double", + "type": "number" + }, + "minItems": { + "description": "Optional. Minimum number of the elements for Type.ARRAY.", + "format": "int64", + "type": "string" + }, + "minimum": { + "description": "Optional. Minimum value for Type.INTEGER and Type.NUMBER.", + "format": "double", + "type": "number" + }, + "nullable": { + "description": "Optional. Indicates if the value may be null.", + "type": "boolean" + }, + "prefixItems": { + "description": "Optional. Schemas of initial elements of Type.ARRAY.", + "items": { + "$ref": "Schema" + }, + "type": "array" + }, + "properties": { + "additionalProperties": { + "$ref": "Schema" + }, + "description": "Optional. Properties of Type.OBJECT.", + "type": "object" + }, + "ref": { + "description": "Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named \"Pet\": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the \"pet\" property is a reference to the schema node named \"Pet\". See details in https://json-schema.org/understanding-json-schema/structuring.", + "type": "string" + }, + "required": { + "description": "Optional. Required properties of Type.OBJECT.", + "items": { + "type": "string" + }, + "type": "array" + }, + "title": { + "description": "Optional. The title of the schema.", + "type": "string" + }, + "type": { + "description": "Required. The type of the data.", + "enum": [ + "TYPE_UNSPECIFIED", + "STRING", + "INTEGER", + "NUMBER", + "BOOLEAN", + "OBJECT", + "ARRAY" + ], + "enumDescriptions": [ + "Type unspecified.", + "String type.", + "Integer type.", + "Number type.", + "Boolean type.", + "Object type.", + "Array type." + ], + "type": "string" + }, + "uniqueItems": { + "description": "Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY.", + "type": "boolean" + } + }, + "type": "object" + }, + "ServiceAccountAuthConfig": { + "description": "Configurations for authentication using a custom service account.", + "id": "ServiceAccountAuthConfig", + "properties": { + "scopes": { + "description": "Optional. The OAuth scopes to grant. If not specified, the default scope `https://www.googleapis.com/auth/cloud-platform` is used.", + "items": { + "type": "string" + }, + "type": "array" + }, + "serviceAccount": { + "description": "Required. The email address of the service account used for authentication. CES uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceAgentIdTokenAuthConfig": { + "description": "Configurations for authentication with [ID token](https://cloud.google.com/docs/authentication/token-types#id) generated from service agent.", + "id": "ServiceAgentIdTokenAuthConfig", + "properties": {}, + "type": "object" + }, + "ServiceDirectoryConfig": { + "description": "Configuration for tools using Service Directory.", + "id": "ServiceDirectoryConfig", + "properties": { + "service": { + "description": "Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app.", + "type": "string" + } + }, + "type": "object" + }, + "SessionConfig": { + "description": "The configuration for the session.", + "id": "SessionConfig", + "properties": { + "deployment": { + "description": "Optional. The deployment of the app to use for the session. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "type": "string" + }, + "entryAgent": { + "description": "Optional. The entry agent to handle the session. If not specified, the session will be handled by the root agent of the app. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "type": "string" + }, + "historicalContexts": { + "description": "Optional. The historical context of the session, including user inputs, agent responses, and other messages. Typically, CES agent would manage session automatically so client doesn't need to explicitly populate this field. However, client can optionally override the historical contexts to force the session start from certain state.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "inputAudioConfig": { + "$ref": "InputAudioConfig", + "description": "Optional. Configuration for processing the input audio." + }, + "outputAudioConfig": { + "$ref": "OutputAudioConfig", + "description": "Optional. Configuration for generating the output audio." + }, + "remoteDialogflowQueryParameters": { + "$ref": "SessionConfigRemoteDialogflowQueryParameters", + "description": "Optional. [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent." + }, + "timeZone": { + "description": "Optional. The time zone of the user. If provided, the agent will use the time zone for date and time related variables. Otherwise, the agent will use the time zone specified in the App.time_zone_settings. The format is the IANA Time Zone Database time zone, e.g. \"America/Los_Angeles\".", + "type": "string" + } + }, + "type": "object" + }, + "SessionConfigRemoteDialogflowQueryParameters": { + "description": "[QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent.", + "id": "SessionConfigRemoteDialogflowQueryParameters", + "properties": { + "endUserMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The end user metadata to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).", + "type": "object" + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The payload to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).", + "type": "object" + }, + "webhookHeaders": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The HTTP headers to be sent as webhook_headers in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).", + "type": "object" + } + }, + "type": "object" + }, + "SessionInput": { + "description": "Input for the session.", + "id": "SessionInput", + "properties": { + "audio": { + "description": "Optional. Audio data from the end user.", + "format": "byte", + "type": "string" + }, + "blob": { + "$ref": "Blob", + "description": "Optional. Blob data from the end user." + }, + "dtmf": { + "description": "Optional. DTMF digits from the end user.", + "type": "string" + }, + "event": { + "$ref": "Event", + "description": "Optional. Event input." + }, + "image": { + "$ref": "Image", + "description": "Optional. Image data from the end user." + }, + "text": { + "description": "Optional. Text data from the end user.", + "type": "string" + }, + "toolResponses": { + "$ref": "ToolResponses", + "description": "Optional. Execution results for the tool calls from the client." + }, + "variables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Contextual variables for the session, keyed by name. Only variables declared in the app will be used by the CES agent. Unrecognized variables will still be sent to the Dialogflow agent as additional session parameters.", + "type": "object" + }, + "willContinue": { + "description": "Optional. A flag to indicate if the current message is a fragment of a larger input in the bidi streaming session. When `true`, the agent will defer processing until a subsequent message with `will_continue` set to `false` is received. Note: This flag has no effect on audio and DTMF inputs, which are always processed in real-time.", + "type": "boolean" + } + }, + "type": "object" + }, + "SessionOutput": { + "description": "Output for the session.", + "id": "SessionOutput", + "properties": { + "audio": { + "description": "Output audio from the CES agent.", + "format": "byte", + "type": "string" + }, + "citations": { + "$ref": "Citations", + "description": "Citations that provide the source information for the agent's generated text." + }, + "diagnosticInfo": { + "$ref": "SessionOutputDiagnosticInfo", + "description": "Optional. Diagnostic information contains execution details during the processing of the input. Only populated in the last SessionOutput (with `turn_completed=true`) for each turn." + }, + "endSession": { + "$ref": "EndSession", + "description": "Indicates the session has ended." + }, + "googleSearchSuggestions": { + "$ref": "GoogleSearchSuggestions", + "description": "The suggestions returned from Google Search as a result of invoking the GoogleSearchTool." + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Custom payload with structured output from the CES agent.", + "type": "object" + }, + "text": { + "description": "Output text from the CES agent.", + "type": "string" + }, + "toolCalls": { + "$ref": "ToolCalls", + "description": "Request for the client to execute the tools." + }, + "turnCompleted": { + "description": "If true, the CES agent has detected the end of the current conversation turn and will provide no further output for this turn.", + "type": "boolean" + }, + "turnIndex": { + "description": "Indicates the sequential order of conversation turn to which this output belongs to, starting from 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SessionOutputDiagnosticInfo": { + "description": "Contains execution details during the processing.", + "id": "SessionOutputDiagnosticInfo", + "properties": { + "messages": { + "description": "List of the messages that happened during the processing.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "rootSpan": { + "$ref": "Span", + "description": "A trace of the entire request processing, represented as a root span. This span can contain nested child spans for specific operations." + } + }, + "type": "object" + }, + "Span": { + "description": "A span is a unit of work or a single operation during the request processing.", + "id": "Span", + "properties": { + "attributes": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. Key-value attributes associated with the span.", + "readOnly": true, + "type": "object" + }, + "childSpans": { + "description": "Output only. The child spans that are nested under this span.", + "items": { + "$ref": "Span" + }, + "readOnly": true, + "type": "array" + }, + "duration": { + "description": "Output only. The duration of the span.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The end time of the span.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The name of the span.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The start time of the span.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "SynthesizeSpeechConfig": { + "description": "Configuration for how the agent response should be synthesized.", + "id": "SynthesizeSpeechConfig", + "properties": { + "speakingRate": { + "description": "Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error.", + "format": "double", + "type": "number" + }, + "voice": { + "description": "Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices) from Cloud Text-to-Speech.", + "type": "string" + } + }, + "type": "object" + }, + "SystemTool": { + "description": "Pre-defined system tool.", + "id": "SystemTool", + "properties": { + "description": { + "description": "Output only. The description of the system tool.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. The name of the system tool.", + "type": "string" + } + }, + "type": "object" + }, + "TimeZoneSettings": { + "description": "TimeZone settings of the app.", + "id": "TimeZoneSettings", + "properties": { + "timeZone": { + "description": "Optional. The time zone of the app from the [time zone database](https://www.iana.org/time-zones), e.g., America/Los_Angeles, Europe/Paris.", + "type": "string" + } + }, + "type": "object" + }, + "TlsConfig": { + "description": "The TLS configuration.", + "id": "TlsConfig", + "properties": { + "caCerts": { + "description": "Required. Specifies a list of allowed custom CA certificates for HTTPS verification.", + "items": { + "$ref": "TlsConfigCaCert" + }, + "type": "array" + } + }, + "type": "object" + }, + "TlsConfigCaCert": { + "description": "The CA certificate.", + "id": "TlsConfigCaCert", + "properties": { + "cert": { + "description": "Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with \"subject alt name\". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr \\ -signkey example.com.key \\ -out example.com.crt \\ -extfile <(printf \"\\nsubjectAltName='DNS:www.example.com'\")", + "format": "byte", + "type": "string" + }, + "displayName": { + "description": "Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.", + "type": "string" + } + }, + "type": "object" + }, + "Tool": { + "description": "A tool represents an action that the CES agent can take to achieve certain goals.", + "id": "Tool", + "properties": { + "clientFunction": { + "$ref": "ClientFunction", + "description": "Optional. The client function." + }, + "connectorTool": { + "$ref": "ConnectorTool", + "description": "Optional. The Integration Connector tool." + }, + "createTime": { + "description": "Output only. Timestamp when the tool was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataStoreTool": { + "$ref": "DataStoreTool", + "description": "Optional. The data store tool." + }, + "displayName": { + "description": "Output only. The display name of the tool, derived based on the tool's type. For example, display name of a ClientFunction is derived from its `name` property.", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "executionType": { + "description": "Optional. The execution type of the tool.", + "enum": [ + "EXECUTION_TYPE_UNSPECIFIED", + "SYNCHRONOUS", + "ASYNCHRONOUS" + ], + "enumDescriptions": [ + "The execution type is unspecified. Defaults to `SYNCHRONOUS` if unspecified.", + "The tool is executed synchronously. The session is blocked until the tool returns.", + "The tool is executed asynchronously. The session will continue while the tool is executing." + ], + "type": "string" + }, + "fileSearchTool": { + "$ref": "FileSearchTool", + "description": "Optional. The file search tool." + }, + "generatedSummary": { + "description": "Output only. If the tool is generated by the LLM assistant, this field contains a descriptive summary of the generation.", + "readOnly": true, + "type": "string" + }, + "googleSearchTool": { + "$ref": "GoogleSearchTool", + "description": "Optional. The google search tool." + }, + "mcpTool": { + "$ref": "McpTool", + "description": "Optional. The MCP tool. An MCP tool cannot be created or updated directly and is managed by the MCP toolset." + }, + "name": { + "description": "Identifier. The unique identifier of the tool. Format: - `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` for ## standalone tools. `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected.", + "type": "string" + }, + "openApiTool": { + "$ref": "OpenApiTool", + "description": "Optional. The open API tool." + }, + "pythonFunction": { + "$ref": "PythonFunction", + "description": "Optional. The python function tool." + }, + "systemTool": { + "$ref": "SystemTool", + "description": "Optional. The system tool." + }, + "toolFakeConfig": { + "$ref": "ToolFakeConfig", + "description": "Optional. Configuration for tool behavior in fake mode." + }, + "updateTime": { + "description": "Output only. Timestamp when the tool was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "widgetTool": { + "$ref": "WidgetTool", + "description": "Optional. The widget tool." + } + }, + "type": "object" + }, + "ToolCall": { + "description": "Request for the client or the agent to execute the specified tool.", + "id": "ToolCall", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The input parameters and values for the tool in JSON object format.", + "type": "object" + }, + "displayName": { + "description": "Output only. Display name of the tool.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.", + "type": "string" + }, + "tool": { + "description": "Optional. The name of the tool to execute. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool to execute." + } + }, + "type": "object" + }, + "ToolCalls": { + "description": "Request for the client to execute the tools and return the execution results before continuing the session.", + "id": "ToolCalls", + "properties": { + "toolCalls": { + "description": "Optional. The list of tool calls to execute.", + "items": { + "$ref": "ToolCall" + }, + "type": "array" + } + }, + "type": "object" + }, + "ToolFakeConfig": { + "description": "Configuration for tool behavior in fake mode.", + "id": "ToolFakeConfig", + "properties": { + "codeBlock": { + "$ref": "CodeBlock", + "description": "Optional. Code block which will be executed instead of a real tool call." + }, + "enableFakeMode": { + "description": "Optional. Whether the tool is using fake mode.", + "type": "boolean" + } + }, + "type": "object" + }, + "ToolResponse": { + "description": "The execution result of a specific tool from the client or the agent.", + "id": "ToolResponse", + "properties": { + "displayName": { + "description": "Output only. Display name of the tool.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Optional. The matching ID of the tool call the response is for.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. The tool execution result in JSON object format. Use \"output\" key to specify tool response and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as tool execution result.", + "type": "object" + }, + "tool": { + "description": "Optional. The name of the tool to execute. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool that got executed." + } + }, + "type": "object" + }, + "ToolResponses": { + "description": "Execution results for the requested tool calls from the client.", + "id": "ToolResponses", + "properties": { + "toolResponses": { + "description": "Optional. The list of tool execution results.", + "items": { + "$ref": "ToolResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "Toolset": { + "description": "A toolset represents a group of dynamically managed tools that can be used by the agent.", + "id": "Toolset", + "properties": { + "connectorToolset": { + "$ref": "ConnectorToolset", + "description": "Optional. A toolset that generates tools from an Integration Connectors Connection." + }, + "createTime": { + "description": "Output only. Timestamp when the toolset was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the toolset.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the toolset. Must be unique within the same app.", + "type": "string" + }, + "etag": { + "description": "ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "executionType": { + "description": "Optional. The execution type of the tools in the toolset.", + "enum": [ + "EXECUTION_TYPE_UNSPECIFIED", + "SYNCHRONOUS", + "ASYNCHRONOUS" + ], + "enumDescriptions": [ + "The execution type is unspecified. Defaults to `SYNCHRONOUS` if unspecified.", + "The tool is executed synchronously. The session is blocked until the tool returns.", + "The tool is executed asynchronously. The session will continue while the tool is executing." + ], + "type": "string" + }, + "mcpToolset": { + "$ref": "McpToolset", + "description": "Optional. A toolset that contains a list of tools that are offered by the MCP server." + }, + "name": { + "description": "Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "type": "string" + }, + "openApiToolset": { + "$ref": "OpenApiToolset", + "description": "Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema." + }, + "toolFakeConfig": { + "$ref": "ToolFakeConfig", + "description": "Optional. Configuration for tools behavior in fake mode." + }, + "updateTime": { + "description": "Output only. Timestamp when the toolset was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ToolsetTool": { + "description": "A tool that is created from a toolset.", + "id": "ToolsetTool", + "properties": { + "toolId": { + "description": "Optional. The tool ID to filter the tools to retrieve the schema for.", + "type": "string" + }, + "toolset": { + "description": "Required. The resource name of the Toolset from which this tool is derived. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "type": "string" + } + }, + "type": "object" + }, + "TransferRule": { + "description": "Rule for transferring to a specific agent.", + "id": "TransferRule", + "properties": { + "childAgent": { + "description": "Required. The resource name of the child agent the rule applies to. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "deterministicTransfer": { + "$ref": "TransferRuleDeterministicTransfer", + "description": "Optional. A rule that immediately transfers to the target agent when the condition is met." + }, + "direction": { + "description": "Required. The direction of the transfer.", + "enum": [ + "DIRECTION_UNSPECIFIED", + "PARENT_TO_CHILD", + "CHILD_TO_PARENT" + ], + "enumDescriptions": [ + "Unspecified direction.", + "Transfer from the parent agent to the child agent.", + "Transfer from the child agent to the parent agent." + ], + "type": "string" + }, + "disablePlannerTransfer": { + "$ref": "TransferRuleDisablePlannerTransfer", + "description": "Optional. Rule that prevents the planner from transferring to the target agent." + } + }, + "type": "object" + }, + "TransferRuleDeterministicTransfer": { + "description": "Deterministic transfer rule. When the condition evaluates to true, the transfer occurs.", + "id": "TransferRuleDeterministicTransfer", + "properties": { + "expressionCondition": { + "$ref": "ExpressionCondition", + "description": "Optional. A rule that evaluates a session state condition. If the condition evaluates to true, the transfer occurs." + }, + "pythonCodeCondition": { + "$ref": "PythonCodeCondition", + "description": "Optional. A rule that uses Python code block to evaluate the conditions. If the condition evaluates to true, the transfer occurs." + } + }, + "type": "object" + }, + "TransferRuleDisablePlannerTransfer": { + "description": "A rule that prevents the planner from transferring to the target agent.", + "id": "TransferRuleDisablePlannerTransfer", + "properties": { + "expressionCondition": { + "$ref": "ExpressionCondition", + "description": "Required. If the condition evaluates to true, planner will not be allowed to transfer to the target agent." + } + }, + "type": "object" + }, + "TriggerAction": { + "description": "Action that is taken when a certain precondition is met.", + "id": "TriggerAction", + "properties": { + "generativeAnswer": { + "$ref": "TriggerActionGenerativeAnswer", + "description": "Optional. Respond with a generative answer." + }, + "respondImmediately": { + "$ref": "TriggerActionRespondImmediately", + "description": "Optional. Immediately respond with a preconfigured response." + }, + "transferAgent": { + "$ref": "TriggerActionTransferAgent", + "description": "Optional. Transfer the conversation to a different agent." + } + }, + "type": "object" + }, + "TriggerActionGenerativeAnswer": { + "description": "The agent will immediately respond with a generative answer.", + "id": "TriggerActionGenerativeAnswer", + "properties": { + "prompt": { + "description": "Required. The prompt to use for the generative answer.", + "type": "string" + } + }, + "type": "object" + }, + "TriggerActionRespondImmediately": { + "description": "The agent will immediately respond with a preconfigured response.", + "id": "TriggerActionRespondImmediately", + "properties": { + "responses": { + "description": "Required. The canned responses for the agent to choose from. The response is chosen randomly.", + "items": { + "$ref": "TriggerActionResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "TriggerActionResponse": { + "description": "Represents a response from the agent.", + "id": "TriggerActionResponse", + "properties": { + "disabled": { + "description": "Optional. Whether the response is disabled. Disabled responses are not used by the agent.", + "type": "boolean" + }, + "text": { + "description": "Required. Text for the agent to respond with.", + "type": "string" + } + }, + "type": "object" + }, + "TriggerActionTransferAgent": { + "description": "The agent will transfer the conversation to a different agent.", + "id": "TriggerActionTransferAgent", + "properties": { + "agent": { + "description": "Required. The name of the agent to transfer the conversation to. The agent must be in the same app as the current agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + } + }, + "type": "object" + }, + "WebSearchQuery": { + "description": "Represents a single web search query and its associated search uri.", + "id": "WebSearchQuery", + "properties": { + "query": { + "description": "The search query text.", + "type": "string" + }, + "uri": { + "description": "The URI to the Google Search results page for the query.", + "type": "string" + } + }, + "type": "object" + }, + "WidgetTool": { + "description": "Represents a widget tool that the agent can invoke. When the tool is chosen by the agent, agent will return the widget to the client. The client is responsible for processing the widget and generating the next user query to continue the interaction with the agent.", + "id": "WidgetTool", + "properties": { + "description": { + "description": "Optional. The description of the widget tool.", + "type": "string" + }, + "name": { + "description": "Required. The display name of the widget tool.", + "type": "string" + }, + "parameters": { + "$ref": "Schema", + "description": "Optional. The input parameters of the widget tool." + }, + "widgetType": { + "description": "Optional. The type of the widget tool. If not specified, the default type will be CUSTOMIZED.", + "enum": [ + "WIDGET_TYPE_UNSPECIFIED", + "CUSTOM", + "PRODUCT_CAROUSEL", + "PRODUCT_DETAILS", + "QUICK_ACTIONS", + "PRODUCT_COMPARISON", + "ADVANCED_PRODUCT_DETAILS", + "SHORT_FORM", + "OVERALL_SATISFACTION", + "ORDER_SUMMARY" + ], + "enumDescriptions": [ + "Unspecified widget type.", + "Custom widget type.", + "Product carousel widget.", + "Product details widget.", + "Quick actions widget.", + "Product comparison widget.", + "Advanced product details widget.", + "Short form widget.", + "Overall satisfaction widget.", + "Order summary widget." + ], + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Gemini Enterprise for Customer Experience API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/ces-v1beta.json b/discovery/ces-v1beta.json new file mode 100644 index 0000000000..5eefd80aad --- /dev/null +++ b/discovery/ces-v1beta.json @@ -0,0 +1,10528 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/ces": { + "description": "Create, update, delete, and manage your Next Gen Agents" + }, + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://ces.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Customer Engagement Suite", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://ces.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://ces.eu.rep.googleapis.com/", + "location": "eu" + } + ], + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "ces:v1beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://ces.mtls.googleapis.com/", + "name": "ces", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", + "flatPath": "v1beta/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "ces.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "extraLocationTypes": { + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", + "location": "query", + "repeated": true, + "type": "string" + }, + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "apps": { + "methods": { + "create": { + "description": "Creates a new app in the given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "appId": { + "description": "Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the location to create an app in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/apps", + "request": { + "$ref": "App" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the app to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "executeTool": { + "description": "Executes the given tool with the given arguments.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:executeTool", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.executeTool", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}:executeTool", + "request": { + "$ref": "ExecuteToolRequest" + }, + "response": { + "$ref": "ExecuteToolResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "exportApp": { + "description": "Exports the specified app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:exportApp", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.exportApp", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app to export.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:exportApp", + "request": { + "$ref": "ExportAppRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "App" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "importApp": { + "description": "Imports the specified app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps:importApp", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.importApp", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name with the location of the app to import.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/apps:importApp", + "request": { + "$ref": "ImportAppRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "importEvaluations": { + "description": "Imports evaluations into the app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:importEvaluations", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.importEvaluations", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The app to import the evaluations into. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}:importEvaluations", + "request": { + "$ref": "ImportEvaluationsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists apps in the given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListApps call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the location to list apps from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/apps", + "response": { + "$ref": "ListAppsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "App" + }, + "response": { + "$ref": "App" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveToolSchema": { + "description": "Retrieve the schema of the given tool. The schema is computed on the fly for the given instance of the tool.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:retrieveToolSchema", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.retrieveToolSchema", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}:retrieveToolSchema", + "request": { + "$ref": "RetrieveToolSchemaRequest" + }, + "response": { + "$ref": "RetrieveToolSchemaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "runEvaluation": { + "description": "Runs an evaluation of the app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:runEvaluation", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.runEvaluation", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The app to evaluate. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:runEvaluation", + "request": { + "$ref": "RunEvaluationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testPersonaVoice": { + "description": "Tests the voice of a persona. Also accepts a default persona.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}:testPersonaVoice", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.testPersonaVoice", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. the resource name of the app to test the persona voice for. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:testPersonaVoice", + "request": { + "$ref": "TestPersonaVoiceRequest" + }, + "response": { + "$ref": "TestPersonaVoiceResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "agents": { + "methods": { + "create": { + "description": "Creates a new agent in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.agents.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "agentId": { + "description": "Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create an agent in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/agents", + "request": { + "$ref": "Agent" + }, + "response": { + "$ref": "Agent" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified agent.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents/{agentsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.agents.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples. * If `force = false`, the deletion fails if other agents/examples reference it. * If `force = true`, delete the agent and remove it from all referencing apps/agents/examples.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the agent to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified agent.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents/{agentsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.agents.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the agent to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Agent" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists agents in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.agents.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListAgents call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list agents from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/agents", + "response": { + "$ref": "ListAgentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified agent.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/agents/{agentsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.agents.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Agent" + }, + "response": { + "$ref": "Agent" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "changelogs": { + "methods": { + "get": { + "description": "Gets the specified changelog.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/changelogs/{changelogsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.changelogs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the changelog to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/changelogs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Changelog" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the changelogs of the specified app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/changelogs", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.changelogs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details. The filter string can be used to filter by `action`, `resource_type`, `resource_name`, `author`, and `create_time`. The `:` comparator can be used for case-insensitive partial matching on string fields, while `=` performs an exact case-sensitive match. Examples: * `action:update` (case-insensitive partial match) * `action=\"Create\"` (case-sensitive exact match) * `resource_type:agent` * `resource_name:my-agent` * `author:me@example.com` * `create_time > \"2025-01-01T00:00:00Z\"` * `create_time <= \"2025-01-01T00:00:00Z\" AND resource_type:tool`", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListChangelogs call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list changelogs from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/changelogs", + "response": { + "$ref": "ListChangelogsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "conversations": { + "methods": { + "batchDelete": { + "description": "Batch deletes the specified conversations.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations:batchDelete", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.conversations.batchDelete", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app to delete conversations from. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/conversations:batchDelete", + "request": { + "$ref": "BatchDeleteConversationsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified conversation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations/{conversationsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.conversations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the conversation to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "deprecated": true, + "description": "Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "generateEvaluation": { + "description": "Creates a golden evaluation from a conversation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations/{conversationsId}:generateEvaluation", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.conversations.generateEvaluation", + "parameterOrder": [ + "conversation" + ], + "parameters": { + "conversation": { + "description": "Required. The conversation to create the golden evaluation for. Format: `projects/{project}/locations/{location}/apps/{app}/conversations/{conversation}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+conversation}:generateEvaluation", + "request": { + "$ref": "GenerateEvaluationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified conversation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations/{conversationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.conversations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the conversation to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "deprecated": true, + "description": "Optional. Indicate the source of the conversation. If not set, all source will be searched.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Conversation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists conversations in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/conversations", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.conversations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListConversations call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list conversations from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "source": { + "description": "Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/conversations", + "response": { + "$ref": "ListConversationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "deployments": { + "methods": { + "create": { + "description": "Creates a new deployment in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.deployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "deploymentId": { + "description": "Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/deployments", + "request": { + "$ref": "Deployment" + }, + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified deployment.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.deployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the deployment to delete. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified deployment.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.deployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the deployment. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists deployments in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/deployments", + "response": { + "$ref": "ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified deployment.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/deployments/{deploymentsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.deployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the deployment. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/deployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Deployment" + }, + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "evaluationDatasets": { + "methods": { + "create": { + "description": "Creates an evaluation dataset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationDatasets", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.evaluationDatasets.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "evaluationDatasetId": { + "description": "Optional. The ID to use for the evaluation dataset, which will become the final component of the evaluation dataset's resource name. If not provided, a unique ID will be automatically assigned for the evaluation.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The app to create the evaluation for. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluationDatasets", + "request": { + "$ref": "EvaluationDataset" + }, + "response": { + "$ref": "EvaluationDataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an evaluation dataset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationDatasets/{evaluationDatasetsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.evaluationDatasets.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the evaluation dataset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation dataset, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the evaluation dataset to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationDatasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified evaluation dataset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationDatasets/{evaluationDatasetsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluationDatasets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation dataset to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationDatasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "EvaluationDataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all evaluation datasets in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationDatasets", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluationDatasets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the evaluation datasets. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\", and \"update_time\" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, \"update_time\" will be the default. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationDatasets call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list evaluation datasets from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluationDatasets", + "response": { + "$ref": "ListEvaluationDatasetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an evaluation dataset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationDatasets/{evaluationDatasetsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.evaluationDatasets.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of this evaluation dataset. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationDatasets/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "EvaluationDataset" + }, + "response": { + "$ref": "EvaluationDataset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "evaluationExpectations": { + "methods": { + "create": { + "description": "Creates an evaluation expectation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationExpectations", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.evaluationExpectations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "evaluationExpectationId": { + "description": "Optional. The ID to use for the evaluation expectation, which will become the final component of the evaluation expectation's resource name. If not provided, a unique ID will be automatically assigned for the evaluation expectation.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The app to create the evaluation expectation for. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluationExpectations", + "request": { + "$ref": "EvaluationExpectation" + }, + "response": { + "$ref": "EvaluationExpectation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an evaluation expectation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationExpectations/{evaluationExpectationsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.evaluationExpectations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the evaluation expectation. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation expectation, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the evaluation expectation to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationExpectations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified evaluation expectation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationExpectations/{evaluationExpectationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluationExpectations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation expectation to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationExpectations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "EvaluationExpectation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all evaluation expectations in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationExpectations", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluationExpectations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the evaluation expectations. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\", and \"update_time\" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, \"update_time\" will be the default. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationExpectations call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list evaluation expectations from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluationExpectations", + "response": { + "$ref": "ListEvaluationExpectationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an evaluation expectation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationExpectations/{evaluationExpectationsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.evaluationExpectations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of this evaluation expectation. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluation_expectation}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationExpectations/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "EvaluationExpectation" + }, + "response": { + "$ref": "EvaluationExpectation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "evaluationRuns": { + "methods": { + "delete": { + "description": "Deletes an evaluation run.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationRuns/{evaluationRunsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.evaluationRuns.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation run to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationRuns/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified evaluation run.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationRuns/{evaluationRunsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluationRuns.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation run to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluationRuns/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "EvaluationRun" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all evaluation runs in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluationRuns", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluationRuns.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the evaluation runs. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\", and \"update_time\" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, \"update_time\" will be the default. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationRuns call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list evaluation runs from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluationRuns", + "response": { + "$ref": "ListEvaluationRunsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "evaluations": { + "methods": { + "create": { + "description": "Creates an evaluation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.evaluations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "evaluationId": { + "description": "Optional. The ID to use for the evaluation, which will become the final component of the evaluation's resource name. If not provided, a unique ID will be automatically assigned for the evaluation.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The app to create the evaluation for. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluations", + "request": { + "$ref": "Evaluation" + }, + "response": { + "$ref": "Evaluation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an evaluation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations/{evaluationsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.evaluations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the evaluation. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the evaluation, even if it is still referenced by evaluation datasets. * If `force = false`, the deletion will fail if any datasets still reference the evaluation. * If `force = true`, all existing references from datasets will be removed and the evaluation will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the evaluation to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified evaluation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations/{evaluationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Evaluation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all evaluations in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the evaluations. See https://google.aip.dev/160 for more details. Currently supports filtering by the following fields: * evaluation_datasets, using the evaluation dataset ID in the format evaluation_datasets:evaluation_dataset_id. * tags, using the tag in the format tags:tag.", + "location": "query", + "type": "string" + }, + "lastTenResults": { + "description": "Optional. Whether to include the last 10 evaluation results for each evaluation in the response.", + "location": "query", + "type": "boolean" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\", and \"update_time\" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, \"update_time\" will be the default. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluations call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list evaluations from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/evaluations", + "response": { + "$ref": "ListEvaluationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an evaluation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations/{evaluationsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.evaluations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of this evaluation. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluations/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Evaluation" + }, + "response": { + "$ref": "Evaluation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "results": { + "methods": { + "delete": { + "description": "Deletes an evaluation result.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations/{evaluationsId}/results/{resultsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.evaluations.results.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation result to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluations/[^/]+/results/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified evaluation result.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations/{evaluationsId}/results/{resultsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluations.results.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the evaluation result to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluations/[^/]+/results/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "EvaluationResult" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all evaluation results for a given evaluation.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/evaluations/{evaluationsId}/results", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.evaluations.results.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the evaluation results. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\", and \"update_time\" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, \"update_time\" will be the default. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationResults call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the evaluation to list evaluation results from. To filter by evaluation run, use `-` as the evaluation ID and specify the evaluation run ID in the filter. For example: `projects/{project}/locations/{location}/apps/{app}/evaluations/-`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/evaluations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/results", + "response": { + "$ref": "ListEvaluationResultsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "examples": { + "methods": { + "create": { + "description": "Creates a new example in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.examples.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "exampleId": { + "description": "Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create an example in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/examples", + "request": { + "$ref": "Example" + }, + "response": { + "$ref": "Example" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified example.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples/{examplesId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.examples.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the example to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/examples/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified example.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples/{examplesId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.examples.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the example to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/examples/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Example" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists examples in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.examples.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListExamples call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list examples from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/examples", + "response": { + "$ref": "ListExamplesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified example.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/examples/{examplesId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.examples.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the example. Format: `projects/{project}/locations/{location}/apps/{app}/examples/{example}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/examples/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Example" + }, + "response": { + "$ref": "Example" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "guardrails": { + "methods": { + "create": { + "description": "Creates a new guardrail in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.guardrails.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "guardrailId": { + "description": "Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create a guardrail in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/guardrails", + "request": { + "$ref": "Guardrail" + }, + "response": { + "$ref": "Guardrail" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified guardrail.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails/{guardrailsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.guardrails.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any apps/agents still reference the guardrail. * If `force = true`, all existing references from apps/agents will be removed and the guardrail will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the guardrail to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/guardrails/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified guardrail.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails/{guardrailsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.guardrails.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the guardrail to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/guardrails/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Guardrail" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists guardrails in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.guardrails.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListGuardrails call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list guardrails from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/guardrails", + "response": { + "$ref": "ListGuardrailsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified guardrail.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/guardrails/{guardrailsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.guardrails.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the guardrail. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/guardrails/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Guardrail" + }, + "response": { + "$ref": "Guardrail" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "scheduledEvaluationRuns": { + "methods": { + "create": { + "description": "Creates a scheduled evaluation run.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/scheduledEvaluationRuns", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.scheduledEvaluationRuns.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The app to create the scheduled evaluation run for. Format: `projects/{project}/locations/{location}/apps/{app}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "scheduledEvaluationRunId": { + "description": "Optional. The ID to use for the scheduled evaluation run, which will become the final component of the scheduled evaluation run's resource name. If not provided, a unique ID will be automatically assigned.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/scheduledEvaluationRuns", + "request": { + "$ref": "ScheduledEvaluationRun" + }, + "response": { + "$ref": "ScheduledEvaluationRun" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a scheduled evaluation run.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/scheduledEvaluationRuns/{scheduledEvaluationRunsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.scheduledEvaluationRuns.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The etag of the ScheduledEvaluationRun. If provided, it must match the server's etag.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the scheduled evaluation run to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/scheduledEvaluationRuns/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified scheduled evaluation run.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/scheduledEvaluationRuns/{scheduledEvaluationRunsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.scheduledEvaluationRuns.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the scheduled evaluation run to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/scheduledEvaluationRuns/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "ScheduledEvaluationRun" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all scheduled evaluation runs in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/scheduledEvaluationRuns", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.scheduledEvaluationRuns.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the scheduled evaluation runs. See https://google.aip.dev/160 for more details. Currently supports filtering by: * request.evaluations:evaluation_id * request.evaluation_dataset:evaluation_dataset_id", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Supported fields are: \"name\" (ascending), \"create_time\" (descending), \"update_time\" (descending), \"next_scheduled_execution\" (ascending), and \"last_completed_run.create_time\" (descending). If not included, \"update_time\" will be the default. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list EvaluationService.ListScheduledEvaluationRuns call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list scheduled evaluation runs from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/scheduledEvaluationRuns", + "response": { + "$ref": "ListScheduledEvaluationRunsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a scheduled evaluation run.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/scheduledEvaluationRuns/{scheduledEvaluationRunsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.scheduledEvaluationRuns.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the scheduled evaluation run config. Format: projects/{projectId}/locations/{locationId}/apps/{appId}/scheduledEvaluationRuns/{scheduledEvaluationRunId}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/scheduledEvaluationRuns/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "ScheduledEvaluationRun" + }, + "response": { + "$ref": "ScheduledEvaluationRun" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "sessions": { + "methods": { + "generateChatToken": { + "description": "Generates a session scoped token for chat widget to authenticate with Session APIs.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/sessions/{sessionsId}:generateChatToken", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.sessions.generateChatToken", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The session name to generate the chat token for. Format: projects/{project}/locations/{location}/apps/{app}/sessions/{session}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/sessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:generateChatToken", + "request": { + "$ref": "GenerateChatTokenRequest" + }, + "response": { + "$ref": "GenerateChatTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "runSession": { + "description": "Initiates a single turn interaction with the CES agent within a session.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/sessions/{sessionsId}:runSession", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.sessions.runSession", + "parameterOrder": [ + "session" + ], + "parameters": { + "session": { + "description": "Required. The unique identifier of the session. Format: `projects/{project}/locations/{location}/apps/{app}/sessions/{session}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/sessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+session}:runSession", + "request": { + "$ref": "RunSessionRequest" + }, + "response": { + "$ref": "RunSessionResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "tools": { + "methods": { + "create": { + "description": "Creates a new tool in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.tools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app to create a tool in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "toolId": { + "description": "Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/tools", + "request": { + "$ref": "Tool" + }, + "response": { + "$ref": "Tool" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified tool.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools/{toolsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.tools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples. * If `force = false`, the deletion will fail if any agents still reference the tool. * If `force = true`, all existing references from agents will be removed and the tool will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the tool to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/tools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified tool.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools/{toolsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.tools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the tool to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/tools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Tool" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists tools in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.tools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the tools. Use \"include_system_tools=true\" to include system tools in the response. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListTools call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list tools from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/tools", + "response": { + "$ref": "ListToolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified tool.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/tools/{toolsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.tools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the tool. Format: - `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` for ## standalone tools. `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/tools/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Tool" + }, + "response": { + "$ref": "Tool" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "toolsets": { + "methods": { + "create": { + "description": "Creates a new toolset in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.toolsets.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the app to create a toolset in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "toolsetId": { + "description": "Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/toolsets", + "request": { + "$ref": "Toolset" + }, + "response": { + "$ref": "Toolset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified toolset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.toolsets.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any agents still reference the toolset. * If `force = true`, all existing references from agents will be removed and the toolset will be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the toolset to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified toolset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.toolsets.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the toolset to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Toolset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists toolsets in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.toolsets.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListToolsets call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list toolsets from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/toolsets", + "response": { + "$ref": "ListToolsetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified toolset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}", + "httpMethod": "PATCH", + "id": "ces.projects.locations.apps.toolsets.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Toolset" + }, + "response": { + "$ref": "Toolset" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveTools": { + "description": "Retrieve the list of tools included in the specified toolset.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/toolsets/{toolsetsId}:retrieveTools", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.toolsets.retrieveTools", + "parameterOrder": [ + "toolset" + ], + "parameters": { + "toolset": { + "description": "Required. The name of the toolset to retrieve the tools for. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/toolsets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+toolset}:retrieveTools", + "request": { + "$ref": "RetrieveToolsRequest" + }, + "response": { + "$ref": "RetrieveToolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "versions": { + "methods": { + "create": { + "description": "Creates a new app version in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.versions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "appVersionId": { + "description": "Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to create an app version in.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/versions", + "request": { + "$ref": "AppVersion" + }, + "response": { + "$ref": "AppVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified app version.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.apps.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the app version to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified app version.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app version to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "AppVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all app versions in the given app.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions", + "httpMethod": "GET", + "id": "ces.projects.locations.apps.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to sort by. Only \"name\" and \"create_time\" is supported. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list AgentService.ListAppVersions call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the app to list app versions from.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/versions", + "response": { + "$ref": "ListAppVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "restore": { + "description": "Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/versions/{versionsId}:restore", + "httpMethod": "POST", + "id": "ces.projects.locations.apps.versions.restore", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the app version to restore.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:restore", + "request": { + "$ref": "RestoreAppVersionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "ces.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "ces.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "ces.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "ces.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20260204", + "rootUrl": "https://ces.googleapis.com/", + "schemas": { + "Action": { + "description": "Configuration of an Action for the tool to use. Note: This can be either an Action or an Operation. See https://cloud.google.com/integration-connectors/docs/entities-operation-action for details.", + "id": "Action", + "properties": { + "connectionActionId": { + "description": "ID of a Connection action for the tool to use.", + "type": "string" + }, + "entityOperation": { + "$ref": "ActionEntityOperation", + "description": "Entity operation configuration for the tool to use." + }, + "inputFields": { + "description": "Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used.", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputFields": { + "description": "Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ActionEntityOperation": { + "description": "Entity CRUD operation specification.", + "id": "ActionEntityOperation", + "properties": { + "entityId": { + "description": "Required. ID of the entity.", + "type": "string" + }, + "operation": { + "description": "Required. Operation to perform on the entity.", + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "LIST", + "GET", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Operation type unspecified. Invalid, ConnectorTool create/update will fail.", + "List operation.", + "Get operation.", + "Create operation.", + "Update operation.", + "Delete operation." + ], + "type": "string" + } + }, + "type": "object" + }, + "Agent": { + "description": "An agent acts as the fundamental building block that provides instructions to the Large Language Model (LLM) for executing specific tasks.", + "id": "Agent", + "properties": { + "afterAgentCallbacks": { + "description": "Optional. The callbacks to execute after the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "afterModelCallbacks": { + "description": "Optional. The callbacks to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "afterToolCallbacks": { + "description": "Optional. The callbacks to execute after the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "beforeAgentCallbacks": { + "description": "Optional. The callbacks to execute before the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "beforeModelCallbacks": { + "description": "Optional. The callbacks to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "beforeToolCallbacks": { + "description": "Optional. The callbacks to execute before the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "childAgents": { + "description": "Optional. List of child agents in the agent tree. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. Timestamp when the agent was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Human-readable description of the agent.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the agent.", + "type": "string" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "generatedSummary": { + "description": "Output only. If the agent is generated by the LLM assistant, this field contains a descriptive summary of the generation.", + "readOnly": true, + "type": "string" + }, + "guardrails": { + "description": "Optional. List of guardrails for the agent. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "instruction": { + "description": "Optional. Instructions for the LLM model to guide the agent's behavior.", + "type": "string" + }, + "llmAgent": { + "$ref": "AgentLlmAgent", + "description": "Optional. The default agent type." + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. Configurations for the LLM model." + }, + "name": { + "description": "Identifier. The unique identifier of the agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "remoteDialogflowAgent": { + "$ref": "AgentRemoteDialogflowAgent", + "description": "Optional. The remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored. Note: If the Dialogflow agent is in a different project from the app, you should grant `roles/dialogflow.client` to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`." + }, + "tools": { + "description": "Optional. List of available tools for the agent. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "toolsets": { + "description": "Optional. List of toolsets for the agent.", + "items": { + "$ref": "AgentAgentToolset" + }, + "type": "array" + }, + "transferRules": { + "description": "Optional. Agent transfer rules. If multiple rules match, the first one in the list will be used.", + "items": { + "$ref": "TransferRule" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. Timestamp when the agent was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AgentAgentToolset": { + "description": "A toolset with a selection of its tools.", + "id": "AgentAgentToolset", + "properties": { + "toolIds": { + "description": "Optional. The tools IDs to filter the toolset.", + "items": { + "type": "string" + }, + "type": "array" + }, + "toolset": { + "description": "Required. The resource name of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "type": "string" + } + }, + "type": "object" + }, + "AgentLlmAgent": { + "description": "Default agent type. The agent uses instructions and callbacks specified in the agent to perform the task using a large language model.", + "id": "AgentLlmAgent", + "properties": {}, + "type": "object" + }, + "AgentRemoteDialogflowAgent": { + "description": "The agent which will transfer execution to a remote [Dialogflow CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent.", + "id": "AgentRemoteDialogflowAgent", + "properties": { + "agent": { + "description": "Required. The [Dialogflow](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent resource name. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "type": "string" + }, + "environmentId": { + "description": "Optional. The environment ID of the Dialogflow agent to be used for the agent execution. If not specified, the draft environment will be used.", + "type": "string" + }, + "flowId": { + "description": "Optional. The flow ID of the flow in the Dialogflow agent.", + "type": "string" + }, + "inputVariableMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input.", + "type": "object" + }, + "outputVariableMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends.", + "type": "object" + }, + "respectResponseInterruptionSettings": { + "description": "Optional. Indicates whether to respect the message-level interruption settings configured in the Dialogflow agent. * If false: all response messages from the Dialogflow agent follow the app-level barge-in settings. * If true: only response messages with [`allow_playback_interruption`](https://docs.cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#text) set to true will be interruptable, all other messages follow the app-level barge-in settings.", + "type": "boolean" + } + }, + "type": "object" + }, + "AgentTransfer": { + "description": "Represents an event indicating the transfer of a conversation to a different agent.", + "id": "AgentTransfer", + "properties": { + "displayName": { + "description": "Output only. Display name of the agent.", + "readOnly": true, + "type": "string" + }, + "targetAgent": { + "description": "Required. The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + } + }, + "type": "object" + }, + "AggregatedMetrics": { + "description": "Aggregated metrics for an evaluation or evaluation dataset.", + "id": "AggregatedMetrics", + "properties": { + "metricsByAppVersion": { + "description": "Output only. Aggregated metrics, grouped by app version ID.", + "items": { + "$ref": "AggregatedMetricsMetricsByAppVersion" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "AggregatedMetricsHallucinationMetrics": { + "description": "Metrics for hallucination results.", + "id": "AggregatedMetricsHallucinationMetrics", + "properties": { + "score": { + "description": "Output only. The average hallucination score (0 to 1).", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "AggregatedMetricsMetricsByAppVersion": { + "description": "Metrics aggregated per app version.", + "id": "AggregatedMetricsMetricsByAppVersion", + "properties": { + "appVersionId": { + "description": "Output only. The app version ID.", + "readOnly": true, + "type": "string" + }, + "failCount": { + "description": "Output only. The number of times the evaluation failed.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "hallucinationMetrics": { + "description": "Output only. Metrics for hallucination within this app version.", + "items": { + "$ref": "AggregatedMetricsHallucinationMetrics" + }, + "readOnly": true, + "type": "array" + }, + "metricsByTurn": { + "description": "Output only. Metrics aggregated per turn within this app version.", + "items": { + "$ref": "AggregatedMetricsMetricsByTurn" + }, + "readOnly": true, + "type": "array" + }, + "passCount": { + "description": "Output only. The number of times the evaluation passed.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "semanticSimilarityMetrics": { + "description": "Output only. Metrics for semantic similarity within this app version.", + "items": { + "$ref": "AggregatedMetricsSemanticSimilarityMetrics" + }, + "readOnly": true, + "type": "array" + }, + "toolCallLatencyMetrics": { + "description": "Output only. Metrics for tool call latency within this app version.", + "items": { + "$ref": "AggregatedMetricsToolCallLatencyMetrics" + }, + "readOnly": true, + "type": "array" + }, + "toolMetrics": { + "description": "Output only. Metrics for each tool within this app version.", + "items": { + "$ref": "AggregatedMetricsToolMetrics" + }, + "readOnly": true, + "type": "array" + }, + "turnLatencyMetrics": { + "description": "Output only. Metrics for turn latency within this app version.", + "items": { + "$ref": "AggregatedMetricsTurnLatencyMetrics" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "AggregatedMetricsMetricsByTurn": { + "description": "Metrics aggregated per turn.", + "id": "AggregatedMetricsMetricsByTurn", + "properties": { + "hallucinationMetrics": { + "description": "Output only. Metrics for hallucination within this turn.", + "items": { + "$ref": "AggregatedMetricsHallucinationMetrics" + }, + "readOnly": true, + "type": "array" + }, + "semanticSimilarityMetrics": { + "description": "Output only. Metrics for semantic similarity within this turn.", + "items": { + "$ref": "AggregatedMetricsSemanticSimilarityMetrics" + }, + "readOnly": true, + "type": "array" + }, + "toolCallLatencyMetrics": { + "description": "Output only. Metrics for tool call latency within this turn.", + "items": { + "$ref": "AggregatedMetricsToolCallLatencyMetrics" + }, + "readOnly": true, + "type": "array" + }, + "toolMetrics": { + "description": "Output only. Metrics for each tool within this turn.", + "items": { + "$ref": "AggregatedMetricsToolMetrics" + }, + "readOnly": true, + "type": "array" + }, + "turnIndex": { + "description": "Output only. The turn index (0-based).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "turnLatencyMetrics": { + "description": "Output only. Metrics for turn latency within this turn.", + "items": { + "$ref": "AggregatedMetricsTurnLatencyMetrics" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "AggregatedMetricsSemanticSimilarityMetrics": { + "description": "Metrics for semantic similarity results.", + "id": "AggregatedMetricsSemanticSimilarityMetrics", + "properties": { + "score": { + "description": "Output only. The average semantic similarity score (0-4).", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "AggregatedMetricsToolCallLatencyMetrics": { + "description": "Metrics for tool call latency.", + "id": "AggregatedMetricsToolCallLatencyMetrics", + "properties": { + "averageLatency": { + "description": "Output only. The average latency of the tool calls.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "tool": { + "description": "Output only. The name of the tool.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AggregatedMetricsToolMetrics": { + "description": "Metrics for a single tool.", + "id": "AggregatedMetricsToolMetrics", + "properties": { + "failCount": { + "description": "Output only. The number of times the tool failed.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "passCount": { + "description": "Output only. The number of times the tool passed.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "tool": { + "description": "Output only. The name of the tool.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AggregatedMetricsTurnLatencyMetrics": { + "description": "Metrics for turn latency.", + "id": "AggregatedMetricsTurnLatencyMetrics", + "properties": { + "averageLatency": { + "description": "Output only. The average latency of the turns.", + "format": "google-duration", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AmbientSoundConfig": { + "description": "Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation.", + "id": "AmbientSoundConfig", + "properties": { + "gcsUri": { + "description": "Optional. Ambient noise as a mono-channel, 16kHz WAV file stored in [Cloud Storage](https://cloud.google.com/storage). Note: Please make sure the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com` has `storage.objects.get` permission to the Cloud Storage object.", + "type": "string" + }, + "prebuiltAmbientNoise": { + "deprecated": true, + "description": "Optional. Deprecated: `prebuilt_ambient_noise` is deprecated in favor of `prebuilt_ambient_sound`.", + "enum": [ + "PREBUILT_AMBIENT_NOISE_UNSPECIFIED", + "RETAIL_STORE", + "CONVENTION_HALL", + "OUTDOOR" + ], + "enumDescriptions": [ + "Not specified.", + "Ambient noise of a retail store.", + "Ambient noise of a convention hall.", + "Ambient noise of a street." + ], + "type": "string" + }, + "prebuiltAmbientSound": { + "description": "Optional. Name of the prebuilt ambient sound. Valid values are: - \"coffee_shop\" - \"keyboard\" - \"keypad\" - \"hum\" - \"office_1\" - \"office_2\" - \"office_3\" - \"room_1\" - \"room_2\" - \"room_3\" - \"room_4\" - \"room_5\" - \"air_conditioner\"", + "type": "string" + }, + "volumeGainDb": { + "description": "Optional. Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "ApiAuthentication": { + "description": "Authentication information required for API calls.", + "id": "ApiAuthentication", + "properties": { + "apiKeyConfig": { + "$ref": "ApiKeyConfig", + "description": "Optional. Config for API key auth." + }, + "bearerTokenConfig": { + "$ref": "BearerTokenConfig", + "description": "Optional. Config for bearer token auth." + }, + "oauthConfig": { + "$ref": "OAuthConfig", + "description": "Optional. Config for OAuth." + }, + "serviceAccountAuthConfig": { + "$ref": "ServiceAccountAuthConfig", + "description": "Optional. Config for service account authentication." + }, + "serviceAgentIdTokenAuthConfig": { + "$ref": "ServiceAgentIdTokenAuthConfig", + "description": "Optional. Config for ID token auth generated from CES service agent." + } + }, + "type": "object" + }, + "ApiKeyConfig": { + "description": "Configurations for authentication with API key.", + "id": "ApiKeyConfig", + "properties": { + "apiKeySecretVersion": { + "description": "Required. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secret}/versions/{version}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + }, + "keyName": { + "description": "Required. The parameter name or the header name of the API key. E.g., If the API request is \"https://example.com/act?X-Api-Key=\", \"X-Api-Key\" would be the parameter name.", + "type": "string" + }, + "requestLocation": { + "description": "Required. Key location in the request.", + "enum": [ + "REQUEST_LOCATION_UNSPECIFIED", + "HEADER", + "QUERY_STRING" + ], + "enumDescriptions": [ + "Unspecified. This value should not be unused.", + "Represents the key in http header.", + "Represents the key in query string." + ], + "type": "string" + } + }, + "type": "object" + }, + "App": { + "description": "An app serves as a top-level container for a group of agents, including the root agent and its sub-agents, along with their associated configurations. These agents work together to achieve specific goals within the app's context.", + "id": "App", + "properties": { + "audioProcessingConfig": { + "$ref": "AudioProcessingConfig", + "description": "Optional. Audio processing configuration of the app." + }, + "clientCertificateSettings": { + "$ref": "ClientCertificateSettings", + "description": "Optional. The default client certificate settings for the app." + }, + "createTime": { + "description": "Output only. Timestamp when the app was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataStoreSettings": { + "$ref": "DataStoreSettings", + "description": "Optional. The data store settings for the app." + }, + "defaultChannelProfile": { + "$ref": "ChannelProfile", + "description": "Optional. The default channel profile used by the app." + }, + "deploymentCount": { + "description": "Output only. Number of deployments in the app.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "description": { + "description": "Optional. Human-readable description of the app.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the app.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "evaluationMetricsThresholds": { + "$ref": "EvaluationMetricsThresholds", + "description": "Optional. The evaluation thresholds for the app." + }, + "evaluationPersonas": { + "description": "Optional. The evaluation personas for the app. This field is used to define the personas that can be used for evaluation. Maximum of 30 personas can be defined.", + "items": { + "$ref": "EvaluationPersona" + }, + "type": "array" + }, + "evaluationSettings": { + "$ref": "EvaluationSettings", + "description": "Optional. The evaluation settings for the app." + }, + "globalInstruction": { + "description": "Optional. Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents.", + "type": "string" + }, + "guardrails": { + "description": "Optional. List of guardrails for the app. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "languageSettings": { + "$ref": "LanguageSettings", + "description": "Optional. Language settings of the app." + }, + "locked": { + "description": "Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected.", + "type": "boolean" + }, + "loggingSettings": { + "$ref": "LoggingSettings", + "description": "Optional. Logging settings of the app." + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages.", + "type": "object" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. The default LLM model settings for the app. Individual resources (e.g. agents, guardrails) can override these configurations as needed." + }, + "name": { + "description": "Identifier. The unique identifier of the app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "type": "string" + }, + "pinned": { + "description": "Optional. Whether the app is pinned in the app list.", + "type": "boolean" + }, + "predefinedVariableDeclarations": { + "description": "Output only. The declarations of predefined variables for the app.", + "items": { + "$ref": "AppVariableDeclaration" + }, + "readOnly": true, + "type": "array" + }, + "rootAgent": { + "description": "Optional. The root agent is the entry point of the app. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "timeZoneSettings": { + "$ref": "TimeZoneSettings", + "description": "Optional. TimeZone settings of the app." + }, + "toolExecutionMode": { + "description": "Optional. The tool execution mode for the app. If not provided, will default to PARALLEL.", + "enum": [ + "TOOL_EXECUTION_MODE_UNSPECIFIED", + "PARALLEL", + "SEQUENTIAL" + ], + "enumDescriptions": [ + "Unspecified tool execution mode. Default to PARALLEL.", + "If there are multiple tools being selected, they will be executed in parallel, with the same [ToolContext](https://google.github.io/adk-docs/context/#the-different-types-of-context).", + "If there are multiple tools being selected, they will be executed sequentially. The next tool will only be executed after the previous tool completes and it can see updated [ToolContext](https://google.github.io/adk-docs/context/#the-different-types-of-context) from the previous tool." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the app was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "variableDeclarations": { + "description": "Optional. The declarations of the variables.", + "items": { + "$ref": "AppVariableDeclaration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppSnapshot": { + "description": "A snapshot of the app.", + "id": "AppSnapshot", + "properties": { + "agents": { + "description": "Optional. List of agents in the app.", + "items": { + "$ref": "Agent" + }, + "type": "array" + }, + "app": { + "$ref": "App", + "description": "Optional. The basic settings for the app." + }, + "examples": { + "description": "Optional. List of examples in the app.", + "items": { + "$ref": "Example" + }, + "type": "array" + }, + "guardrails": { + "description": "Optional. List of guardrails in the app.", + "items": { + "$ref": "Guardrail" + }, + "type": "array" + }, + "tools": { + "description": "Optional. List of tools in the app.", + "items": { + "$ref": "Tool" + }, + "type": "array" + }, + "toolsets": { + "description": "Optional. List of toolsets in the app.", + "items": { + "$ref": "Toolset" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppVariableDeclaration": { + "description": "Defines the structure and metadata for a variable.", + "id": "AppVariableDeclaration", + "properties": { + "description": { + "description": "Required. The description of the variable.", + "type": "string" + }, + "name": { + "description": "Required. The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores.", + "type": "string" + }, + "schema": { + "$ref": "Schema", + "description": "Required. The schema of the variable." + } + }, + "type": "object" + }, + "AppVersion": { + "description": "In Customer Engagement Suite (CES), an app version is a snapshot of the app at a specific point in time. It is immutable and cannot be modified once created.", + "id": "AppVersion", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the app version was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "description": "Output only. Email of the user who created the app version.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the app version.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the app version.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of the app version. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "type": "string" + }, + "snapshot": { + "$ref": "AppSnapshot", + "description": "Output only. The snapshot of the app when the version is created.", + "readOnly": true + } + }, + "type": "object" + }, + "AudioProcessingConfig": { + "description": "Configuration for how the input and output audio should be processed and delivered.", + "id": "AudioProcessingConfig", + "properties": { + "ambientSoundConfig": { + "$ref": "AmbientSoundConfig", + "description": "Optional. Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation." + }, + "bargeInConfig": { + "$ref": "BargeInConfig", + "description": "Optional. Configures the agent behavior for the user barge-in activities." + }, + "inactivityTimeout": { + "description": "Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement.", + "format": "google-duration", + "type": "string" + }, + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "SynthesizeSpeechConfig" + }, + "description": "Optional. Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains \"en-us\" and \"en\", and the specified language code is \"en-gb\", then \"en\" configuration will be used. Note: Language code is case-insensitive.", + "type": "object" + } + }, + "type": "object" + }, + "AudioRecordingConfig": { + "description": "Configuration for how the audio interactions should be recorded.", + "id": "AudioRecordingConfig", + "properties": { + "gcsBucket": { + "description": "Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with \"gs://\". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + }, + "gcsPathPrefix": { + "description": "Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used.", + "type": "string" + } + }, + "type": "object" + }, + "BargeInConfig": { + "description": "Configuration for how the user barge-in activities should be handled.", + "id": "BargeInConfig", + "properties": { + "bargeInAwareness": { + "description": "Optional. If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually.", + "type": "boolean" + }, + "disableBargeIn": { + "deprecated": true, + "description": "Optional. Disables user barge-in while the agent is speaking. If true, user input during agent response playback will be ignored. Deprecated: `disable_barge_in` is deprecated in favor of `disable_barge_in_control` in ChannelProfile.", + "type": "boolean" + } + }, + "type": "object" + }, + "BatchDeleteConversationsRequest": { + "description": "Request message for AgentService.BatchDeleteConversations.", + "id": "BatchDeleteConversationsRequest", + "properties": { + "conversations": { + "description": "Required. The resource names of the conversations to delete.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchDeleteConversationsResponse": { + "description": "Response message for AgentService.BatchDeleteConversations.", + "id": "BatchDeleteConversationsResponse", + "properties": { + "deletedConversations": { + "description": "The list of conversations that were successfully deleted.", + "items": { + "type": "string" + }, + "type": "array" + }, + "errorMessages": { + "description": "Optional. A list of error messages associated with conversations that failed to be deleted.", + "items": { + "type": "string" + }, + "type": "array" + }, + "failedConversations": { + "description": "The list of conversations that failed to be deleted.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BearerTokenConfig": { + "description": "Configurations for authentication with a bearer token.", + "id": "BearerTokenConfig", + "properties": { + "token": { + "description": "Required. The bearer token. Must be in the format `$context.variables.`.", + "type": "string" + } + }, + "type": "object" + }, + "BigQueryExportSettings": { + "description": "Settings to describe the BigQuery export behaviors for the app.", + "id": "BigQueryExportSettings", + "properties": { + "dataset": { + "description": "Optional. The BigQuery dataset to export the data to.", + "type": "string" + }, + "enabled": { + "description": "Optional. Indicates whether the BigQuery export is enabled.", + "type": "boolean" + }, + "project": { + "description": "Optional. The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + } + }, + "type": "object" + }, + "Blob": { + "description": "Represents a blob input or output in the conversation.", + "id": "Blob", + "properties": { + "data": { + "description": "Required. Raw bytes of the blob.", + "format": "byte", + "type": "string" + }, + "mimeType": { + "description": "Required. The IANA standard MIME type of the source data.", + "type": "string" + } + }, + "type": "object" + }, + "Callback": { + "description": "A callback defines the custom logic to be executed at various stages of agent interaction.", + "id": "Callback", + "properties": { + "description": { + "description": "Optional. Human-readable description of the callback.", + "type": "string" + }, + "disabled": { + "description": "Optional. Whether the callback is disabled. Disabled callbacks are ignored by the agent.", + "type": "boolean" + }, + "pythonCode": { + "description": "Required. The python code to execute for the callback.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Changelog": { + "description": "Changelogs represent a change made to the app or to an resource within the app.", + "id": "Changelog", + "properties": { + "action": { + "description": "Output only. The action that was performed on the resource.", + "readOnly": true, + "type": "string" + }, + "author": { + "description": "Output only. Email address of the change author.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the change was made.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dependentResources": { + "description": "Output only. The dependent resources that were changed.", + "items": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "readOnly": true, + "type": "array" + }, + "description": { + "description": "Output only. Description of the change. which typically captures the changed fields in the resource.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. Display name of the change. It typically should be the display name of the resource that was changed.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of the changelog. Format: `projects/{project}/locations/{location}/apps/{app}/changelogs/{changelog}`", + "type": "string" + }, + "newResource": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. The new resource after the change.", + "readOnly": true, + "type": "object" + }, + "originalResource": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. The original resource before the change.", + "readOnly": true, + "type": "object" + }, + "resource": { + "description": "Output only. The resource that was changed.", + "readOnly": true, + "type": "string" + }, + "resourceType": { + "description": "Output only. The type of the resource that was changed.", + "readOnly": true, + "type": "string" + }, + "sequenceNumber": { + "description": "Output only. The monotonically increasing sequence number of the changelog.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ChannelProfile": { + "description": "A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony.", + "id": "ChannelProfile", + "properties": { + "channelType": { + "description": "Optional. The type of the channel profile.", + "enum": [ + "UNKNOWN", + "WEB_UI", + "API", + "TWILIO", + "GOOGLE_TELEPHONY_PLATFORM", + "CONTACT_CENTER_AS_A_SERVICE", + "FIVE9" + ], + "enumDescriptions": [ + "Unknown channel type.", + "Web UI channel.", + "API channel.", + "Twilio channel.", + "Google Telephony Platform channel.", + "Contact Center as a Service (CCaaS) channel.", + "Five9 channel." + ], + "type": "string" + }, + "disableBargeInControl": { + "description": "Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt.", + "type": "boolean" + }, + "disableDtmf": { + "description": "Optional. Whether to disable DTMF (dual-tone multi-frequency).", + "type": "boolean" + }, + "noiseSuppressionLevel": { + "description": "Optional. The noise suppression level of the channel profile. Available values are \"low\", \"moderate\", \"high\", \"very_high\".", + "type": "string" + }, + "personaProperty": { + "$ref": "ChannelProfilePersonaProperty", + "description": "Optional. The persona property of the channel profile." + }, + "profileId": { + "description": "Optional. The unique identifier of the channel profile.", + "type": "string" + }, + "webWidgetConfig": { + "$ref": "ChannelProfileWebWidgetConfig", + "description": "Optional. The configuration for the web widget." + } + }, + "type": "object" + }, + "ChannelProfilePersonaProperty": { + "description": "Represents the persona property of a channel.", + "id": "ChannelProfilePersonaProperty", + "properties": { + "persona": { + "description": "Optional. The persona of the channel.", + "enum": [ + "UNKNOWN", + "CONCISE", + "CHATTY" + ], + "enumDescriptions": [ + "UNKNOWN persona.", + "The agent keeps the responses concise and to the point", + "The agent provides additional context, explanations, and details" + ], + "type": "string" + } + }, + "type": "object" + }, + "ChannelProfileWebWidgetConfig": { + "description": "Message for configuration for the web widget.", + "id": "ChannelProfileWebWidgetConfig", + "properties": { + "modality": { + "description": "Optional. The modality of the web widget.", + "enum": [ + "MODALITY_UNSPECIFIED", + "CHAT_AND_VOICE", + "VOICE_ONLY", + "CHAT_ONLY" + ], + "enumDescriptions": [ + "Unknown modality.", + "Widget supports both chat and voice input.", + "Widget supports only voice input.", + "Widget supports only chat input." + ], + "type": "string" + }, + "securitySettings": { + "$ref": "ChannelProfileWebWidgetConfigSecuritySettings", + "description": "Optional. The security settings of the web widget." + }, + "theme": { + "description": "Optional. The theme of the web widget.", + "enum": [ + "THEME_UNSPECIFIED", + "LIGHT", + "DARK" + ], + "enumDescriptions": [ + "Unknown theme.", + "Light theme.", + "Dark theme." + ], + "type": "string" + }, + "webWidgetTitle": { + "description": "Optional. The title of the web widget.", + "type": "string" + } + }, + "type": "object" + }, + "ChannelProfileWebWidgetConfigSecuritySettings": { + "description": "Security settings for the web widget.", + "id": "ChannelProfileWebWidgetConfigSecuritySettings", + "properties": { + "allowedOrigins": { + "description": "Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: \"https://example.com\"", + "items": { + "type": "string" + }, + "type": "array" + }, + "enableOriginCheck": { + "description": "Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins.", + "type": "boolean" + }, + "enablePublicAccess": { + "description": "Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent.", + "type": "boolean" + }, + "enableRecaptcha": { + "description": "Optional. Indicates whether reCAPTCHA verification for the web widget is enabled.", + "type": "boolean" + } + }, + "type": "object" + }, + "Chunk": { + "description": "A chunk of content within a message.", + "id": "Chunk", + "properties": { + "agentTransfer": { + "$ref": "AgentTransfer", + "description": "Optional. Agent transfer event." + }, + "defaultVariables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A struct represents default variables at the start of the conversation, keyed by variable names.", + "type": "object" + }, + "image": { + "$ref": "Image", + "description": "Optional. Image data." + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Custom payload data.", + "type": "object" + }, + "text": { + "description": "Optional. Text data.", + "type": "string" + }, + "toolCall": { + "$ref": "ToolCall", + "description": "Optional. Tool execution request." + }, + "toolResponse": { + "$ref": "ToolResponse", + "description": "Optional. Tool execution response." + }, + "transcript": { + "description": "Optional. Transcript associated with the audio.", + "type": "string" + }, + "updatedVariables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A struct represents variables that were updated in the conversation, keyed by variable names.", + "type": "object" + } + }, + "type": "object" + }, + "Citations": { + "description": "Citations associated with the agent response.", + "id": "Citations", + "properties": { + "citedChunks": { + "description": "List of cited pieces of information.", + "items": { + "$ref": "CitationsCitedChunk" + }, + "type": "array" + } + }, + "type": "object" + }, + "CitationsCitedChunk": { + "description": "Piece of cited information.", + "id": "CitationsCitedChunk", + "properties": { + "text": { + "description": "Text used for citaiton.", + "type": "string" + }, + "title": { + "description": "Title of the cited document.", + "type": "string" + }, + "uri": { + "description": "URI used for citation.", + "type": "string" + } + }, + "type": "object" + }, + "ClientCertificateSettings": { + "description": "Settings for custom client certificates.", + "id": "ClientCertificateSettings", + "properties": { + "passphrase": { + "description": "Optional. The name of the SecretManager secret version resource storing the passphrase to decrypt the private key. Should be left unset if the private key is not encrypted. Format: `projects/{project}/secrets/{secret}/versions/{version}`", + "type": "string" + }, + "privateKey": { + "description": "Required. The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: `projects/{project}/secrets/{secret}/versions/{version}`", + "type": "string" + }, + "tlsCertificate": { + "description": "Required. The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines.", + "type": "string" + } + }, + "type": "object" + }, + "ClientFunction": { + "description": "Represents a client-side function that the agent can invoke. When the tool is chosen by the agent, control is handed off to the client. The client is responsible for executing the function and returning the result as a ToolResponse to continue the interaction with the agent.", + "id": "ClientFunction", + "properties": { + "description": { + "description": "Optional. The function description.", + "type": "string" + }, + "name": { + "description": "Required. The function name.", + "type": "string" + }, + "parameters": { + "$ref": "Schema", + "description": "Optional. The schema of the function parameters." + }, + "response": { + "$ref": "Schema", + "description": "Optional. The schema of the function response." + } + }, + "type": "object" + }, + "CloudLoggingSettings": { + "description": "Settings to describe the Cloud Logging behaviors for the app.", + "id": "CloudLoggingSettings", + "properties": { + "enableCloudLogging": { + "description": "Optional. Whether to enable Cloud Logging for the sessions.", + "type": "boolean" + } + }, + "type": "object" + }, + "CodeBlock": { + "description": "A code block to be executed instead of a real tool call.", + "id": "CodeBlock", + "properties": { + "pythonCode": { + "description": "Required. Python code which will be invoked in tool fake mode. Expected Python function signature - To catch all tool calls: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: To catch a specific tool call: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: If the function returns None, the real tool will be invoked instead.", + "type": "string" + } + }, + "type": "object" + }, + "ConnectorTool": { + "description": "A ConnectorTool allows connections to different integrations. See: https://cloud.google.com/integration-connectors/docs/overview.", + "id": "ConnectorTool", + "properties": { + "action": { + "$ref": "Action", + "description": "Required. Action for the tool to use." + }, + "authConfig": { + "$ref": "EndUserAuthConfig", + "description": "Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override for details." + }, + "connection": { + "description": "Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project}/locations/{location}/connections/{connection}`", + "type": "string" + }, + "description": { + "description": "Optional. The description of the tool that can be used by the Agent to decide whether to call this ConnectorTool.", + "type": "string" + }, + "name": { + "description": "Optional. The name of the tool that can be used by the Agent to decide whether to call this ConnectorTool.", + "type": "string" + } + }, + "type": "object" + }, + "ConnectorToolset": { + "description": "A toolset that generates tools from an Integration Connectors Connection.", + "id": "ConnectorToolset", + "properties": { + "authConfig": { + "$ref": "EndUserAuthConfig", + "description": "Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the Toolset creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override" + }, + "connection": { + "description": "Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project}/locations/{location}/connections/{connection}`", + "type": "string" + }, + "connectorActions": { + "description": "Required. The list of connector actions/entity operations to generate tools for.", + "items": { + "$ref": "Action" + }, + "type": "array" + } + }, + "type": "object" + }, + "Conversation": { + "description": "A conversation represents an interaction between an end user and the CES app.", + "id": "Conversation", + "properties": { + "appVersion": { + "description": "Output only. The version of the app used for processing the conversation. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "readOnly": true, + "type": "string" + }, + "channelType": { + "deprecated": true, + "description": "DEPRECATED. Please use input_types instead.", + "enum": [ + "CHANNEL_TYPE_UNSPECIFIED", + "TEXT", + "AUDIO", + "MULTIMODAL" + ], + "enumDescriptions": [ + "Unspecified channel type.", + "The conversation only contains text messages between the end user and the agent.", + "The conversation contains audio messages between the end user and the agent.", + "The conversation multi-modal messages (e.g. image) between the end user and the agent." + ], + "type": "string" + }, + "deployment": { + "description": "Output only. The deployment of the app used for processing the conversation. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. Timestamp when the conversation was completed.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "entryAgent": { + "description": "Output only. The agent that initially handles the conversation. If not specified, the conversation is handled by the root agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "readOnly": true, + "type": "string" + }, + "inputTypes": { + "description": "Output only. The input types of the conversation.", + "items": { + "enum": [ + "INPUT_TYPE_UNSPECIFIED", + "INPUT_TYPE_TEXT", + "INPUT_TYPE_AUDIO", + "INPUT_TYPE_IMAGE", + "INPUT_TYPE_BLOB" + ], + "enumDescriptions": [ + "Unspecified input type.", + "The input message is text.", + "The input message is audio.", + "The input message is image.", + "The input message is blob file." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "languageCode": { + "description": "Output only. The language code of the conversation.", + "readOnly": true, + "type": "string" + }, + "messages": { + "deprecated": true, + "description": "Deprecated. Use turns instead.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The unique identifier of the conversation. Format: `projects/{project}/locations/{location}/apps/{app}/conversations/{conversation}`", + "type": "string" + }, + "source": { + "description": "Output only. Indicate the source of the conversation.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. Timestamp when the conversation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "turnCount": { + "description": "Output only. The number of turns in the conversation.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "turns": { + "description": "Required. The turns in the conversation.", + "items": { + "$ref": "ConversationTurn" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConversationLoggingSettings": { + "description": "Settings to describe the conversation logging behaviors for the app.", + "id": "ConversationLoggingSettings", + "properties": { + "disableConversationLogging": { + "description": "Optional. Whether to disable conversation logging for the sessions.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConversationTurn": { + "description": "All information about a single turn in the conversation.", + "id": "ConversationTurn", + "properties": { + "messages": { + "description": "Optional. List of messages in the conversation turn, including user input, agent responses and intermediate events during the processing.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "rootSpan": { + "$ref": "Span", + "description": "Optional. The root span of the action processing." + } + }, + "type": "object" + }, + "DataStore": { + "description": "A DataStore resource in Vertex AI Search.", + "id": "DataStore", + "properties": { + "connectorConfig": { + "$ref": "DataStoreConnectorConfig", + "description": "Output only. The connector config for the data store connection.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when the data store was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the data store.", + "readOnly": true, + "type": "string" + }, + "documentProcessingMode": { + "description": "Output only. The document processing mode for the data store connection. Only set for PUBLIC_WEB and UNSTRUCTURED data stores.", + "enum": [ + "DOCUMENT_PROCESSING_MODE_UNSPECIFIED", + "DOCUMENTS", + "CHUNKS" + ], + "enumDescriptions": [ + "Not specified.", + "Documents are processed as documents.", + "Documents are converted to chunks." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Full resource name of the DataStore. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`", + "type": "string" + }, + "type": { + "description": "Output only. The type of the data store. This field is readonly and populated by the server.", + "enum": [ + "DATA_STORE_TYPE_UNSPECIFIED", + "PUBLIC_WEB", + "UNSTRUCTURED", + "FAQ", + "CONNECTOR" + ], + "enumDescriptions": [ + "Not specified. This value indicates that the data store type is not specified, so it will not be used during search.", + "A data store that contains public web content.", + "A data store that contains unstructured private data.", + "A data store that contains structured data used as FAQ.", + "A data store that is a connector to a first-party or a third-party service." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DataStoreConnectorConfig": { + "description": "The connector config for the data store connection.", + "id": "DataStoreConnectorConfig", + "properties": { + "collection": { + "description": "Resource name of the collection the data store belongs to.", + "type": "string" + }, + "collectionDisplayName": { + "description": "Display name of the collection the data store belongs to.", + "type": "string" + }, + "dataSource": { + "description": "The name of the data source. Example: `salesforce`, `jira`, `confluence`, `bigquery`.", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreSettings": { + "description": "Data store related settings for the app.", + "id": "DataStoreSettings", + "properties": { + "engines": { + "description": "Output only. The engines for the app.", + "items": { + "$ref": "DataStoreSettingsEngine" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "DataStoreSettingsEngine": { + "description": "An engine to which the data stores are connected. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.", + "id": "DataStoreSettingsEngine", + "properties": { + "name": { + "description": "Output only. The resource name of the engine. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the engine.", + "enum": [ + "TYPE_UNSPECIFIED", + "ENGINE_TYPE_SEARCH", + "ENGINE_TYPE_CHAT" + ], + "enumDescriptions": [ + "Unspecified engine type.", + "The SOLUTION_TYPE_SEARCH engine for the app. All connector data stores added to the app will be added to this engine.", + "Chat engine type. The SOLUTION_TYPE_CHAT engine for the app. All connector data stores added to the app will be added to this engine." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DataStoreTool": { + "description": "Tool to retrieve from Vertex AI Search datastore or engine for grounding. Accepts either a datastore or an engine, but not both. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.", + "id": "DataStoreTool", + "properties": { + "boostSpecs": { + "description": "Optional. Boost specification to boost certain documents.", + "items": { + "$ref": "DataStoreToolBoostSpecs" + }, + "type": "array" + }, + "dataStoreSource": { + "$ref": "DataStoreToolDataStoreSource", + "description": "Optional. Search within a single specific DataStore." + }, + "description": { + "description": "Optional. The tool description.", + "type": "string" + }, + "engineSource": { + "$ref": "DataStoreToolEngineSource", + "description": "Optional. Search within an Engine (potentially across multiple DataStores)." + }, + "filterParameterBehavior": { + "description": "Optional. The filter parameter behavior.", + "enum": [ + "FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED", + "ALWAYS_INCLUDE", + "NEVER_INCLUDE" + ], + "enumDescriptions": [ + "Default filter behavior. Include filter parameter for connector datastores. For the rest of the datastore types, the filter input parameter is omitted.", + "Always include filter parameter for all datastore types.", + "The filter parameter is never included in the list of tool parameters, regardless of the datastore type." + ], + "type": "string" + }, + "modalityConfigs": { + "description": "Optional. The modality configs for the data store.", + "items": { + "$ref": "DataStoreToolModalityConfig" + }, + "type": "array" + }, + "name": { + "description": "Required. The data store tool name.", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpec": { + "description": "Boost specification to boost certain documents.", + "id": "DataStoreToolBoostSpec", + "properties": { + "conditionBoostSpecs": { + "description": "Required. A list of boosting specifications.", + "items": { + "$ref": "DataStoreToolBoostSpecConditionBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecConditionBoostSpec": { + "description": "Boost specification for a condition.", + "id": "DataStoreToolBoostSpecConditionBoostSpec", + "properties": { + "boost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored.", + "format": "float", + "type": "number" + }, + "boostControlSpec": { + "$ref": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec", + "description": "Optional. Complex specification for custom ranking based on customer defined attribute value." + }, + "condition": { + "description": "Required. An expression which specifies a boost condition. The syntax is the same as filter expression syntax. Currently, the only supported condition is a list of BCP-47 lang codes. Example: To boost suggestions in languages en or fr: (lang_code: ANY(\"en\", \"fr\"))", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec": { + "description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", + "id": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec", + "properties": { + "attributeType": { + "description": "Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", + "enum": [ + "ATTRIBUTE_TYPE_UNSPECIFIED", + "NUMERICAL", + "FRESHNESS" + ], + "enumDescriptions": [ + "Unspecified AttributeType.", + "The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", + "For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. E.g. `5D`, `3DT12H30M`, `T24H`." + ], + "type": "string" + }, + "controlPoints": { + "description": "Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", + "items": { + "$ref": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint" + }, + "type": "array" + }, + "fieldName": { + "description": "Optional. The name of the field whose value will be used to determine the boost amount.", + "type": "string" + }, + "interpolationType": { + "description": "Optional. The interpolation type to be applied to connect the control points listed below.", + "enum": [ + "INTERPOLATION_TYPE_UNSPECIFIED", + "LINEAR" + ], + "enumDescriptions": [ + "Interpolation type is unspecified. In this case, it defaults to Linear.", + "Piecewise linear interpolation will be applied." + ], + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { + "description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", + "id": "DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint", + "properties": { + "attributeValue": { + "description": "Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", + "type": "string" + }, + "boostAmount": { + "description": "Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "DataStoreToolBoostSpecs": { + "description": "Boost specifications to boost certain documents. For more information, please refer to https://cloud.google.com/generative-ai-app-builder/docs/boosting.", + "id": "DataStoreToolBoostSpecs", + "properties": { + "dataStores": { + "description": "Required. The Data Store where the boosting configuration is applied. Full resource name of DataStore, such as projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.", + "items": { + "type": "string" + }, + "type": "array" + }, + "spec": { + "description": "Required. A list of boosting specifications.", + "items": { + "$ref": "DataStoreToolBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "DataStoreToolDataStoreSource": { + "description": "Configuration for searching within a specific DataStore.", + "id": "DataStoreToolDataStoreSource", + "properties": { + "dataStore": { + "$ref": "DataStore", + "description": "Optional. The data store." + }, + "filter": { + "description": "Optional. Filter specification for the DataStore. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolEngineSource": { + "description": "Configuration for searching within an Engine, potentially targeting specific DataStores.", + "id": "DataStoreToolEngineSource", + "properties": { + "dataStoreSources": { + "description": "Optional. Use to target specific DataStores within the Engine. If empty, the search applies to all DataStores associated with the Engine.", + "items": { + "$ref": "DataStoreToolDataStoreSource" + }, + "type": "array" + }, + "engine": { + "description": "Required. Full resource name of the Engine. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", + "type": "string" + }, + "filter": { + "description": "Optional. A filter applied to the search across the Engine. Not relevant and not used if 'data_store_sources' is provided. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolGroundingConfig": { + "description": "Grounding configuration.", + "id": "DataStoreToolGroundingConfig", + "properties": { + "disabled": { + "description": "Optional. Whether grounding is disabled.", + "type": "boolean" + }, + "groundingLevel": { + "description": "Optional. The groundedness threshold of the answer based on the retrieved sources. The value has a configurable range of [1, 5]. The level is used to threshold the groundedness of the answer, meaning that all responses with a groundedness score below the threshold will fall back to returning relevant snippets only. For example, a level of 3 means that the groundedness score must be 3 or higher for the response to be returned.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "DataStoreToolModalityConfig": { + "description": "If specified, will apply the given configuration for the specified modality.", + "id": "DataStoreToolModalityConfig", + "properties": { + "groundingConfig": { + "$ref": "DataStoreToolGroundingConfig", + "description": "Optional. The grounding configuration." + }, + "modalityType": { + "description": "Required. The modality type.", + "enum": [ + "MODALITY_TYPE_UNSPECIFIED", + "TEXT", + "AUDIO" + ], + "enumDescriptions": [ + "Unspecified modality type.", + "Text modality.", + "Audio modality." + ], + "type": "string" + }, + "rewriterConfig": { + "$ref": "DataStoreToolRewriterConfig", + "description": "Optional. The rewriter config." + }, + "summarizationConfig": { + "$ref": "DataStoreToolSummarizationConfig", + "description": "Optional. The summarization config." + } + }, + "type": "object" + }, + "DataStoreToolRewriterConfig": { + "description": "Rewriter configuration.", + "id": "DataStoreToolRewriterConfig", + "properties": { + "disabled": { + "description": "Optional. Whether the rewriter is disabled.", + "type": "boolean" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Required. Configurations for the LLM model." + }, + "prompt": { + "description": "Optional. The prompt definition. If not set, default prompt will be used.", + "type": "string" + } + }, + "type": "object" + }, + "DataStoreToolSummarizationConfig": { + "description": "Summarization configuration.", + "id": "DataStoreToolSummarizationConfig", + "properties": { + "disabled": { + "description": "Optional. Whether summarization is disabled.", + "type": "boolean" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. Configurations for the LLM model." + }, + "prompt": { + "description": "Optional. The prompt definition. If not set, default prompt will be used.", + "type": "string" + } + }, + "type": "object" + }, + "DeleteEvaluationRunOperationMetadata": { + "description": "Operation metadata for EvaluationService.DeleteEvaluationRun.", + "id": "DeleteEvaluationRunOperationMetadata", + "properties": {}, + "type": "object" + }, + "Deployment": { + "description": "A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.", + "id": "Deployment", + "properties": { + "appVersion": { + "description": "Required. The resource name of the app version to deploy. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version}", + "type": "string" + }, + "channelProfile": { + "$ref": "ChannelProfile", + "description": "Required. The channel profile used in the deployment." + }, + "createTime": { + "description": "Output only. Timestamp when this deployment was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the deployment.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the deployment. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when this deployment was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "EndSession": { + "description": "Indicates the session has terminated, due to either successful completion (e.g. user says \"Good bye!\" ) or an agent escalation. The agent will not process any further inputs after session is terminated and the client should half-close and disconnect after receiving all remaining responses from the agent.", + "id": "EndSession", + "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Provides additional information about the end session signal, such as the reason for ending the session.", + "type": "object" + } + }, + "type": "object" + }, + "EndUserAuthConfig": { + "description": "End-user authentication configuration used for Connection calls. The field values must be the names of context variables in the format `$context.variables.`.", + "id": "EndUserAuthConfig", + "properties": { + "oauth2AuthCodeConfig": { + "$ref": "EndUserAuthConfigOauth2AuthCodeConfig", + "description": "Oauth 2.0 Authorization Code authentication." + }, + "oauth2JwtBearerConfig": { + "$ref": "EndUserAuthConfigOauth2JwtBearerConfig", + "description": "JWT Profile Oauth 2.0 Authorization Grant authentication." + } + }, + "type": "object" + }, + "EndUserAuthConfigOauth2AuthCodeConfig": { + "description": "Oauth 2.0 Authorization Code authentication configuration.", + "id": "EndUserAuthConfigOauth2AuthCodeConfig", + "properties": { + "oauthToken": { + "description": "Required. Oauth token parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + } + }, + "type": "object" + }, + "EndUserAuthConfigOauth2JwtBearerConfig": { + "description": "JWT Profile Oauth 2.0 Authorization Grant authentication configuration.", + "id": "EndUserAuthConfigOauth2JwtBearerConfig", + "properties": { + "clientKey": { + "description": "Required. Client parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + }, + "issuer": { + "description": "Required. Issuer parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + }, + "subject": { + "description": "Required. Subject parameter name to pass through. Must be in the format `$context.variables.`.", + "type": "string" + } + }, + "type": "object" + }, + "Evaluation": { + "description": "An evaluation represents all of the information needed to simulate and evaluate an agent.", + "id": "Evaluation", + "properties": { + "aggregatedMetrics": { + "$ref": "AggregatedMetrics", + "description": "Output only. The aggregated metrics for this evaluation across all runs.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when the evaluation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createdBy": { + "description": "Output only. The user who created the evaluation.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. User-defined description of the evaluation.", + "type": "string" + }, + "displayName": { + "description": "Required. User-defined display name of the evaluation. Unique within an App.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "evaluationDatasets": { + "description": "Output only. List of evaluation datasets the evaluation belongs to. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "evaluationRuns": { + "description": "Output only. The EvaluationRuns that this Evaluation is associated with.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "golden": { + "$ref": "EvaluationGolden", + "description": "Optional. The golden steps to be evaluated." + }, + "invalid": { + "description": "Output only. Whether the evaluation is invalid. This can happen if an evaluation is referencing a tool, toolset, or agent that has since been deleted.", + "readOnly": true, + "type": "boolean" + }, + "lastCompletedResult": { + "$ref": "EvaluationResult", + "description": "Output only. The latest evaluation result for this evaluation.", + "readOnly": true + }, + "lastTenResults": { + "description": "Output only. The last 10 evaluation results for this evaluation. This is only populated if include_last_ten_results is set to true in the ListEvaluationsRequest or GetEvaluationRequest.", + "items": { + "$ref": "EvaluationResult" + }, + "readOnly": true, + "type": "array" + }, + "lastUpdatedBy": { + "description": "Output only. The user who last updated the evaluation.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of this evaluation. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}`", + "type": "string" + }, + "scenario": { + "$ref": "EvaluationScenario", + "description": "Optional. The config for a scenario." + }, + "tags": { + "description": "Optional. User defined tags to categorize the evaluation.", + "items": { + "type": "string" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. Timestamp when the evaluation was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationConfig": { + "description": "EvaluationConfig configures settings for running the evaluation.", + "id": "EvaluationConfig", + "properties": { + "evaluationChannel": { + "description": "Optional. The channel to evaluate.", + "enum": [ + "EVALUATION_CHANNEL_UNSPECIFIED", + "TEXT", + "AUDIO" + ], + "enumDescriptions": [ + "Unspecified evaluation channel.", + "Text-only evaluation channel.", + "Audio evaluation channel." + ], + "type": "string" + }, + "inputAudioConfig": { + "$ref": "InputAudioConfig", + "deprecated": true, + "description": "Optional. Configuration for processing the input audio." + }, + "outputAudioConfig": { + "$ref": "OutputAudioConfig", + "deprecated": true, + "description": "Optional. Configuration for generating the output audio." + }, + "toolCallBehaviour": { + "description": "Optional. Specifies whether the evaluation should use real tool calls or fake tools.", + "enum": [ + "EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED", + "REAL", + "FAKE" + ], + "enumDescriptions": [ + "Unspecified tool call behavior. Will default to real tool calls.", + "Use real tool calls.", + "Use fake tool calls." + ], + "type": "string" + } + }, + "type": "object" + }, + "EvaluationDataset": { + "description": "An evaluation dataset represents a set of evaluations that are grouped together basaed on shared tags.", + "id": "EvaluationDataset", + "properties": { + "aggregatedMetrics": { + "$ref": "AggregatedMetrics", + "description": "Output only. The aggregated metrics for this evaluation dataset across all runs.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when the evaluation dataset was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createdBy": { + "description": "Output only. The user who created the evaluation dataset.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. User-defined display name of the evaluation dataset. Unique within an App.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "evaluations": { + "description": "Optional. Evaluations that are included in this dataset.", + "items": { + "type": "string" + }, + "type": "array" + }, + "lastUpdatedBy": { + "description": "Output only. The user who last updated the evaluation dataset.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of this evaluation dataset. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the evaluation dataset was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationErrorInfo": { + "description": "Information about an error encountered during an evaluation execution.", + "id": "EvaluationErrorInfo", + "properties": { + "errorMessage": { + "description": "Output only. The error message.", + "readOnly": true, + "type": "string" + }, + "errorType": { + "description": "Output only. The type of error.", + "enum": [ + "ERROR_TYPE_UNSPECIFIED", + "RUNTIME_FAILURE", + "CONVERSATION_RETRIEVAL_FAILURE", + "METRIC_CALCULATION_FAILURE", + "EVALUATION_UPDATE_FAILURE", + "QUOTA_EXHAUSTED", + "USER_SIMULATION_FAILURE" + ], + "enumDescriptions": [ + "Unspecified error type.", + "Failure during runtime execution.", + "Failure to retrieve conversation from CES Runtime.", + "Failure to calculate a metric / outcome.", + "Failure to update the evaluation.", + "Ran out of quota.", + "Failure during user simulation." + ], + "readOnly": true, + "type": "string" + }, + "sessionId": { + "description": "Output only. The session ID for the conversation that caused the error.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationExpectation": { + "description": "An evaluation expectation represents a specific criteria to evaluate against.", + "id": "EvaluationExpectation", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the evaluation expectation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. User-defined display name. Must be unique within the app.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "llmCriteria": { + "$ref": "EvaluationExpectationLlmCriteria", + "description": "Optional. Evaluation criteria based on an LLM prompt." + }, + "name": { + "description": "Identifier. The unique identifier of this evaluation expectation. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluation_expectation}`", + "type": "string" + }, + "tags": { + "description": "Optional. User-defined tags for expectations. Can be used to filter expectations.", + "items": { + "type": "string" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. Timestamp when the evaluation expectation was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationExpectationLlmCriteria": { + "description": "Configuration for LLM-based evaluation criteria.", + "id": "EvaluationExpectationLlmCriteria", + "properties": { + "prompt": { + "description": "Required. The prompt/instructions provided to the LLM judge.", + "type": "string" + } + }, + "type": "object" + }, + "EvaluationGolden": { + "description": "The steps required to replay a golden conversation.", + "id": "EvaluationGolden", + "properties": { + "evaluationExpectations": { + "description": "Optional. The evaluation expectations to evaluate the replayed conversation against. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluationExpectation}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "turns": { + "description": "Required. The golden turns required to replay a golden conversation.", + "items": { + "$ref": "EvaluationGoldenTurn" + }, + "type": "array" + } + }, + "type": "object" + }, + "EvaluationGoldenExpectation": { + "description": "Represents a single, checkable requirement.", + "id": "EvaluationGoldenExpectation", + "properties": { + "agentResponse": { + "$ref": "Message", + "description": "Optional. Check that the agent responded with the correct response. The role \"agent\" is implied." + }, + "agentTransfer": { + "$ref": "AgentTransfer", + "description": "Optional. Check that the agent transferred the conversation to a different agent." + }, + "mockToolResponse": { + "$ref": "ToolResponse", + "description": "Optional. The tool response to mock, with the parameters of interest specified. Any parameters not specified will be hallucinated by the LLM." + }, + "note": { + "description": "Optional. A note for this requirement, useful in reporting when specific checks fail. E.g., \"Check_Payment_Tool_Called\".", + "type": "string" + }, + "toolCall": { + "$ref": "ToolCall", + "description": "Optional. Check that a specific tool was called with the parameters." + }, + "toolResponse": { + "$ref": "ToolResponse", + "description": "Optional. Check that a specific tool had the expected response." + }, + "updatedVariables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Check that the agent updated the session variables to the expected values. Used to also capture agent variable updates for golden evals.", + "type": "object" + } + }, + "type": "object" + }, + "EvaluationGoldenTurn": { + "description": "A golden turn defines a single turn in a golden conversation.", + "id": "EvaluationGoldenTurn", + "properties": { + "rootSpan": { + "$ref": "Span", + "description": "Optional. The root span of the golden turn for processing and maintaining audio information." + }, + "steps": { + "description": "Required. The steps required to replay a golden conversation.", + "items": { + "$ref": "EvaluationStep" + }, + "type": "array" + } + }, + "type": "object" + }, + "EvaluationMetricsThresholds": { + "description": "Threshold settings for metrics in an Evaluation.", + "id": "EvaluationMetricsThresholds", + "properties": { + "goldenEvaluationMetricsThresholds": { + "$ref": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds", + "description": "Optional. The golden evaluation metrics thresholds." + }, + "goldenHallucinationMetricBehavior": { + "description": "Optional. The hallucination metric behavior for golden evaluations.", + "enum": [ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified hallucination metric behavior.", + "Disable hallucination metric.", + "Enable hallucination metric." + ], + "type": "string" + }, + "hallucinationMetricBehavior": { + "deprecated": true, + "description": "Optional. Deprecated: Use `golden_hallucination_metric_behavior` instead. The hallucination metric behavior is currently used for golden evaluations.", + "enum": [ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified hallucination metric behavior.", + "Disable hallucination metric.", + "Enable hallucination metric." + ], + "type": "string" + }, + "scenarioHallucinationMetricBehavior": { + "description": "Optional. The hallucination metric behavior for scenario evaluations.", + "enum": [ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Unspecified hallucination metric behavior.", + "Disable hallucination metric.", + "Enable hallucination metric." + ], + "type": "string" + } + }, + "type": "object" + }, + "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds": { + "description": "Settings for golden evaluations.", + "id": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds", + "properties": { + "expectationLevelMetricsThresholds": { + "$ref": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds", + "description": "Optional. The expectation level metrics thresholds." + }, + "turnLevelMetricsThresholds": { + "$ref": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds", + "description": "Optional. The turn level metrics thresholds." + } + }, + "type": "object" + }, + "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds": { + "description": "Expectation level metrics thresholds.", + "id": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds", + "properties": { + "toolInvocationParameterCorrectnessThreshold": { + "description": "Optional. The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds": { + "description": "Turn level metrics thresholds.", + "id": "EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds", + "properties": { + "overallToolInvocationCorrectnessThreshold": { + "description": "Optional. The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0.", + "format": "float", + "type": "number" + }, + "semanticSimilarityChannel": { + "description": "Optional. The semantic similarity channel to use for evaluation.", + "enum": [ + "SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED", + "TEXT", + "AUDIO" + ], + "enumDescriptions": [ + "Metric unspecified. Defaults to TEXT.", + "Use text semantic similarity.", + "Use audio semantic similarity." + ], + "type": "string" + }, + "semanticSimilaritySuccessThreshold": { + "description": "Optional. The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is >= 3.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationPersona": { + "description": "A persona represents an end user in an evaluation.", + "id": "EvaluationPersona", + "properties": { + "description": { + "description": "Optional. The description of the persona.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the persona. Unique within an app.", + "type": "string" + }, + "name": { + "description": "Required. The unique identifier of the persona. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationPersonas/{evaluationPersona}`", + "type": "string" + }, + "personality": { + "description": "Required. An instruction for the agent on how to behave in the evaluation.", + "type": "string" + }, + "speechConfig": { + "$ref": "EvaluationPersonaSpeechConfig", + "description": "Optional. Configuration for how the persona sounds (TTS settings)." + } + }, + "type": "object" + }, + "EvaluationPersonaSpeechConfig": { + "description": "Configuration for Text-to-Speech generation.", + "id": "EvaluationPersonaSpeechConfig", + "properties": { + "environment": { + "description": "Optional. The simulated audio environment.", + "enum": [ + "BACKGROUND_ENVIRONMENT_UNSPECIFIED", + "CALL_CENTER", + "TRAFFIC", + "KIDS_NOISE", + "CAFE" + ], + "enumDescriptions": [ + "Background environment unspecified.", + "Call center environment.", + "Traffic noise environment.", + "Kids noise environment.", + "Cafe environment." + ], + "type": "string" + }, + "speakingRate": { + "description": "Optional. The speaking rate. 1.0 is normal. Lower is slower (e.g., 0.8), higher is faster (e.g., 1.5). Useful for testing how the agent handles fast talkers.", + "format": "double", + "type": "number" + }, + "voiceId": { + "description": "Optional. The specific voice identifier/accent to use. Example: \"en-US-Wavenet-D\" or \"en-GB-Standard-A\"", + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResult": { + "description": "An evaluation result represents the output of running an Evaluation.", + "id": "EvaluationResult", + "properties": { + "appVersion": { + "description": "Output only. The app version used to generate the conversation that resulted in this result. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "readOnly": true, + "type": "string" + }, + "appVersionDisplayName": { + "description": "Output only. The display name of the `app_version` that the evaluation ran against.", + "readOnly": true, + "type": "string" + }, + "changelog": { + "description": "Output only. The changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft.", + "readOnly": true, + "type": "string" + }, + "changelogCreateTime": { + "description": "Output only. The create time of the changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "config": { + "$ref": "EvaluationConfig", + "description": "Output only. The configuration used in the evaluation run that resulted in this result.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when the evaluation result was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the Evaluation Result. Unique within an Evaluation. By default, it has the following format: \" result - \".", + "type": "string" + }, + "error": { + "$ref": "Status", + "deprecated": true, + "description": "Output only. Deprecated: Use `error_info` instead. Errors encountered during execution.", + "readOnly": true + }, + "errorInfo": { + "$ref": "EvaluationErrorInfo", + "description": "Output only. Error information for the evaluation result.", + "readOnly": true + }, + "evaluationMetricsThresholds": { + "$ref": "EvaluationMetricsThresholds", + "description": "Output only. The evaluation thresholds for the result.", + "readOnly": true + }, + "evaluationRun": { + "description": "Output only. The evaluation run that produced this result. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}`", + "readOnly": true, + "type": "string" + }, + "evaluationStatus": { + "description": "Output only. The outcome of the evaluation. Only populated if execution_state is COMPLETE.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + }, + "executionState": { + "description": "Output only. The state of the evaluation result execution.", + "enum": [ + "EXECUTION_STATE_UNSPECIFIED", + "RUNNING", + "COMPLETED", + "ERROR" + ], + "enumDescriptions": [ + "Evaluation result execution state is not specified.", + "Evaluation result execution is running.", + "Evaluation result execution has completed.", + "Evaluation result execution failed due to an internal error." + ], + "readOnly": true, + "type": "string" + }, + "goldenResult": { + "$ref": "EvaluationResultGoldenResult", + "description": "Output only. The outcome of a golden evaluation.", + "readOnly": true + }, + "goldenRunMethod": { + "description": "Output only. The method used to run the golden evaluation.", + "enum": [ + "GOLDEN_RUN_METHOD_UNSPECIFIED", + "STABLE", + "NAIVE" + ], + "enumDescriptions": [ + "Run method is not specified.", + "Run the evaluation as stable replay, where each turn is a unique session with the previous expected turns injected as context.", + "Run the evaluation as naive replay, where the run is a single session with no context injected." + ], + "readOnly": true, + "type": "string" + }, + "initiatedBy": { + "description": "Output only. The user who initiated the evaluation run that resulted in this result.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of the evaluation result. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}/results/{result}`", + "type": "string" + }, + "persona": { + "$ref": "EvaluationPersona", + "description": "Output only. The persona used to generate the conversation for the evaluation result.", + "readOnly": true + }, + "scenarioResult": { + "$ref": "EvaluationResultScenarioResult", + "description": "Output only. The outcome of a scenario evaluation.", + "readOnly": true + } + }, + "type": "object" + }, + "EvaluationResultEvaluationExpectationResult": { + "description": "The result of a single evaluation expectation.", + "id": "EvaluationResultEvaluationExpectationResult", + "properties": { + "evaluationExpectation": { + "description": "Output only. The evaluation expectation. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluation_expectation}`", + "readOnly": true, + "type": "string" + }, + "explanation": { + "description": "Output only. The explanation for the result.", + "readOnly": true, + "type": "string" + }, + "outcome": { + "description": "Output only. The outcome of the evaluation expectation.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + }, + "prompt": { + "description": "Output only. The prompt that was used for the evaluation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResultGoldenExpectationOutcome": { + "description": "Specifies the expectation and the result of that expectation.", + "id": "EvaluationResultGoldenExpectationOutcome", + "properties": { + "expectation": { + "$ref": "EvaluationGoldenExpectation", + "description": "Output only. The expectation that was evaluated.", + "readOnly": true + }, + "observedAgentResponse": { + "$ref": "Message", + "description": "Output only. The result of the agent response expectation.", + "readOnly": true + }, + "observedAgentTransfer": { + "$ref": "AgentTransfer", + "description": "Output only. The result of the agent transfer expectation.", + "readOnly": true + }, + "observedToolCall": { + "$ref": "ToolCall", + "description": "Output only. The result of the tool call expectation.", + "readOnly": true + }, + "observedToolResponse": { + "$ref": "ToolResponse", + "description": "Output only. The result of the tool response expectation.", + "readOnly": true + }, + "outcome": { + "description": "Output only. The outcome of the expectation.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + }, + "semanticSimilarityResult": { + "$ref": "EvaluationResultSemanticSimilarityResult", + "deprecated": true, + "description": "Output only. The result of the semantic similarity check.", + "readOnly": true + }, + "toolInvocationResult": { + "$ref": "EvaluationResultGoldenExpectationOutcomeToolInvocationResult", + "description": "Output only. The result of the tool invocation check.", + "readOnly": true + } + }, + "type": "object" + }, + "EvaluationResultGoldenExpectationOutcomeToolInvocationResult": { + "description": "The result of the tool invocation check.", + "id": "EvaluationResultGoldenExpectationOutcomeToolInvocationResult", + "properties": { + "explanation": { + "description": "Output only. A free text explanation for the tool invocation result.", + "readOnly": true, + "type": "string" + }, + "outcome": { + "description": "Output only. The outcome of the tool invocation check. This is determined by comparing the parameter_correctness_score to the threshold. If the score is equal to or above the threshold, the outcome will be PASS. Otherwise, the outcome will be FAIL.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + }, + "parameterCorrectnessScore": { + "description": "Output only. The tool invocation parameter correctness score. This indicates the percent of parameters from the expected tool call that were also present in the actual tool call.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "EvaluationResultGoldenResult": { + "description": "The result of a golden evaluation.", + "id": "EvaluationResultGoldenResult", + "properties": { + "evaluationExpectationResults": { + "description": "Output only. The results of the evaluation expectations.", + "items": { + "$ref": "EvaluationResultEvaluationExpectationResult" + }, + "readOnly": true, + "type": "array" + }, + "turnReplayResults": { + "description": "Output only. The result of running each turn of the golden conversation.", + "items": { + "$ref": "EvaluationResultGoldenResultTurnReplayResult" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "EvaluationResultGoldenResultTurnReplayResult": { + "description": "The result of running a single turn of the golden conversation.", + "id": "EvaluationResultGoldenResultTurnReplayResult", + "properties": { + "conversation": { + "description": "Output only. The conversation that was generated for this turn.", + "readOnly": true, + "type": "string" + }, + "errorInfo": { + "$ref": "EvaluationErrorInfo", + "description": "Output only. Information about the error that occurred during this turn.", + "readOnly": true + }, + "expectationOutcome": { + "description": "Output only. The outcome of each expectation.", + "items": { + "$ref": "EvaluationResultGoldenExpectationOutcome" + }, + "readOnly": true, + "type": "array" + }, + "hallucinationResult": { + "$ref": "EvaluationResultHallucinationResult", + "description": "Output only. The result of the hallucination check.", + "readOnly": true + }, + "overallToolInvocationResult": { + "$ref": "EvaluationResultOverallToolInvocationResult", + "description": "Output only. The result of the overall tool invocation check.", + "readOnly": true + }, + "semanticSimilarityResult": { + "$ref": "EvaluationResultSemanticSimilarityResult", + "description": "Output only. The result of the semantic similarity check.", + "readOnly": true + }, + "spanLatencies": { + "description": "Output only. The latency of spans in the turn.", + "items": { + "$ref": "EvaluationResultSpanLatency" + }, + "readOnly": true, + "type": "array" + }, + "toolCallLatencies": { + "description": "Output only. The latency of each tool call in the turn.", + "items": { + "$ref": "EvaluationResultToolCallLatency" + }, + "readOnly": true, + "type": "array" + }, + "toolInvocationScore": { + "deprecated": true, + "description": "Output only. Deprecated. Use OverallToolInvocationResult instead.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "toolOrderedInvocationScore": { + "description": "Output only. The overall tool ordered invocation score for this turn. This indicates the overall percent of tools from the expected turn that were actually invoked in the expected order.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "turnLatency": { + "description": "Output only. Duration of the turn.", + "format": "google-duration", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResultHallucinationResult": { + "description": "The result of the hallucination check for a single turn.", + "id": "EvaluationResultHallucinationResult", + "properties": { + "explanation": { + "description": "Output only. The explanation for the hallucination score.", + "readOnly": true, + "type": "string" + }, + "label": { + "description": "Output only. The label associated with each score. Score 1: Justified Score 0: Not Justified Score -1: No Claim To Assess", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Output only. The hallucination score. Can be -1, 0, 1.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationResultOverallToolInvocationResult": { + "description": "The result of the overall tool invocation check.", + "id": "EvaluationResultOverallToolInvocationResult", + "properties": { + "outcome": { + "description": "Output only. The outcome of the tool invocation check. This is determined by comparing the tool_invocation_score to the overall_tool_invocation_correctness_threshold. If the score is equal to or above the threshold, the outcome will be PASS. Otherwise, the outcome will be FAIL.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + }, + "toolInvocationScore": { + "description": "The overall tool invocation score for this turn. This indicates the overall percent of tools from the expected turn that were actually invoked.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "EvaluationResultScenarioExpectationOutcome": { + "description": "The outcome of a scenario expectation.", + "id": "EvaluationResultScenarioExpectationOutcome", + "properties": { + "expectation": { + "$ref": "EvaluationScenarioExpectation", + "description": "Output only. The expectation that was evaluated.", + "readOnly": true + }, + "observedAgentResponse": { + "$ref": "Message", + "description": "Output only. The observed agent response.", + "readOnly": true + }, + "observedToolCall": { + "$ref": "EvaluationResultScenarioExpectationOutcomeObservedToolCall", + "description": "Output only. The observed tool call.", + "readOnly": true + }, + "outcome": { + "description": "Output only. The outcome of the ScenarioExpectation.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResultScenarioExpectationOutcomeObservedToolCall": { + "description": "The observed tool call and response.", + "id": "EvaluationResultScenarioExpectationOutcomeObservedToolCall", + "properties": { + "toolCall": { + "$ref": "ToolCall", + "description": "Output only. The observed tool call.", + "readOnly": true + }, + "toolResponse": { + "$ref": "ToolResponse", + "description": "Output only. The observed tool response.", + "readOnly": true + } + }, + "type": "object" + }, + "EvaluationResultScenarioResult": { + "description": "The outcome of a scenario evaluation.", + "id": "EvaluationResultScenarioResult", + "properties": { + "allExpectationsSatisfied": { + "description": "Output only. Whether all expectations were satisfied for this turn.", + "readOnly": true, + "type": "boolean" + }, + "conversation": { + "description": "Output only. The conversation that was generated in the scenario.", + "readOnly": true, + "type": "string" + }, + "evaluationExpectationResults": { + "description": "Output only. The results of the evaluation expectations.", + "items": { + "$ref": "EvaluationResultEvaluationExpectationResult" + }, + "readOnly": true, + "type": "array" + }, + "expectationOutcomes": { + "description": "Output only. The outcome of each expectation.", + "items": { + "$ref": "EvaluationResultScenarioExpectationOutcome" + }, + "readOnly": true, + "type": "array" + }, + "hallucinationResult": { + "description": "Output only. The result of the hallucination check. There will be one hallucination result for each turn in the conversation.", + "items": { + "$ref": "EvaluationResultHallucinationResult" + }, + "readOnly": true, + "type": "array" + }, + "rubricOutcomes": { + "description": "Output only. The outcome of the rubric.", + "items": { + "$ref": "EvaluationResultScenarioRubricOutcome" + }, + "readOnly": true, + "type": "array" + }, + "spanLatencies": { + "description": "Output only. The latency of spans in the conversation.", + "items": { + "$ref": "EvaluationResultSpanLatency" + }, + "readOnly": true, + "type": "array" + }, + "task": { + "description": "Output only. The task that was used when running the scenario for this result.", + "readOnly": true, + "type": "string" + }, + "taskCompleted": { + "description": "Output only. Whether the task was completed for this turn. This is a composite of all expectations satisfied, no hallucinations, and user goal satisfaction.", + "readOnly": true, + "type": "boolean" + }, + "taskCompletionResult": { + "$ref": "EvaluationResultTaskCompletionResult", + "deprecated": true, + "description": "Output only. The result of the task completion check.", + "readOnly": true + }, + "toolCallLatencies": { + "description": "Output only. The latency of each tool call execution in the conversation.", + "items": { + "$ref": "EvaluationResultToolCallLatency" + }, + "readOnly": true, + "type": "array" + }, + "userFacts": { + "description": "Output only. The user facts that were used by the scenario for this result.", + "items": { + "$ref": "EvaluationScenarioUserFact" + }, + "readOnly": true, + "type": "array" + }, + "userGoalSatisfactionResult": { + "$ref": "EvaluationResultUserGoalSatisfactionResult", + "description": "Output only. The result of the user goal satisfaction check.", + "readOnly": true + } + }, + "type": "object" + }, + "EvaluationResultScenarioRubricOutcome": { + "description": "The outcome of the evaluation against the rubric.", + "id": "EvaluationResultScenarioRubricOutcome", + "properties": { + "rubric": { + "description": "Output only. The rubric that was used to evaluate the conversation.", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Output only. The score of the conversation against the rubric.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "scoreExplanation": { + "description": "Output only. The rater's response to the rubric.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResultSemanticSimilarityResult": { + "description": "The result of the semantic similarity check.", + "id": "EvaluationResultSemanticSimilarityResult", + "properties": { + "explanation": { + "description": "Output only. The explanation for the semantic similarity score.", + "readOnly": true, + "type": "string" + }, + "label": { + "description": "Output only. The label associated with each score. Score 4: Fully Consistent Score 3: Mostly Consistent Score 2: Partially Consistent (Minor Omissions) Score 1: Largely Inconsistent (Major Omissions) Score 0: Completely Inconsistent / Contradictory", + "readOnly": true, + "type": "string" + }, + "outcome": { + "description": "Output only. The outcome of the semantic similarity check. This is determined by comparing the score to the semantic_similarity_success_threshold. If the score is equal to or above the threshold, the outcome will be PASS. Otherwise, the outcome will be FAIL.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "PASS", + "FAIL" + ], + "enumDescriptions": [ + "Evaluation outcome is not specified.", + "Evaluation/Expectation passed. In the case of an evaluation, this means that all expectations were met.", + "Evaluation/Expectation failed. In the case of an evaluation, this means that at least one expectation was not met." + ], + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Output only. The semantic similarity score. Can be 0, 1, 2, 3, or 4.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationResultSpanLatency": { + "description": "The latency of a span execution.", + "id": "EvaluationResultSpanLatency", + "properties": { + "callback": { + "description": "Output only. The name of the user callback span.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the span. Applicable to tool and guardrail spans.", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The end time of span.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "executionLatency": { + "description": "Output only. The latency of span.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "model": { + "description": "Output only. The name of the LLM span.", + "readOnly": true, + "type": "string" + }, + "resource": { + "description": "Output only. The resource name of the guardrail or tool spans.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The start time of span.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "toolset": { + "$ref": "ToolsetTool", + "description": "Output only. The toolset tool identifier.", + "readOnly": true + }, + "type": { + "description": "Output only. The type of span.", + "enum": [ + "TYPE_UNSPECIFIED", + "TOOL", + "USER_CALLBACK", + "GUARDRAIL", + "LLM" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Tool call span.", + "User callback span.", + "Guardrail span.", + "LLM span." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResultTaskCompletionResult": { + "description": "The result of the task completion check for the conversation.", + "id": "EvaluationResultTaskCompletionResult", + "properties": { + "explanation": { + "description": "Output only. The explanation for the task completion score.", + "readOnly": true, + "type": "string" + }, + "label": { + "description": "Output only. The label associated with each score. Score 1: Task Completed Score 0: Task Not Completed Score -1: User Goal Undefined", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Output only. The task completion score. Can be -1, 0, 1", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationResultToolCallLatency": { + "description": "The latency of a tool call execution.", + "id": "EvaluationResultToolCallLatency", + "properties": { + "displayName": { + "description": "Output only. The display name of the tool.", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The end time of the tool call execution.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "executionLatency": { + "description": "Output only. The latency of the tool call execution.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The start time of the tool call execution.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "tool": { + "description": "Output only. The name of the tool that got executed. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationResultUserGoalSatisfactionResult": { + "description": "The result of a user goal satisfaction check for a conversation.", + "id": "EvaluationResultUserGoalSatisfactionResult", + "properties": { + "explanation": { + "description": "Output only. The explanation for the user task satisfaction score.", + "readOnly": true, + "type": "string" + }, + "label": { + "description": "Output only. The label associated with each score. Score 1: User Task Satisfied Score 0: User Task Not Satisfied Score -1: User Task Unspecified", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Output only. The user task satisfaction score. Can be -1, 0, 1.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationRun": { + "description": "An evaluation run represents an all the evaluation results from an evaluation execution.", + "id": "EvaluationRun", + "properties": { + "appVersion": { + "description": "Output only. The app version to evaluate. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "readOnly": true, + "type": "string" + }, + "appVersionDisplayName": { + "description": "Output only. The display name of the `app_version` that the evaluation ran against.", + "readOnly": true, + "type": "string" + }, + "changelog": { + "description": "Output only. The changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft.", + "readOnly": true, + "type": "string" + }, + "changelogCreateTime": { + "description": "Output only. The create time of the changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "config": { + "$ref": "EvaluationConfig", + "description": "Output only. The configuration used in the run.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when the evaluation run was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. User-defined display name of the evaluation run. default: \" run - \".", + "type": "string" + }, + "error": { + "$ref": "Status", + "deprecated": true, + "description": "Output only. Deprecated: Use error_info instead. Errors encountered during execution.", + "readOnly": true + }, + "errorInfo": { + "$ref": "EvaluationErrorInfo", + "description": "Output only. Error information for the evaluation run.", + "readOnly": true + }, + "evaluationDataset": { + "description": "Output only. The evaluation dataset that this run is associated with. This field is mutually exclusive with `evaluations`. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`", + "readOnly": true, + "type": "string" + }, + "evaluationResults": { + "description": "Output only. The evaluation results that are part of this run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}/results/{result}`", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "evaluationRunSummaries": { + "additionalProperties": { + "$ref": "EvaluationRunEvaluationRunSummary" + }, + "description": "Output only. Map of evaluation name to EvaluationRunSummary.", + "readOnly": true, + "type": "object" + }, + "evaluationType": { + "description": "Output only. The type of the evaluations in this run.", + "enum": [ + "EVALUATION_TYPE_UNSPECIFIED", + "GOLDEN", + "SCENARIO", + "MIXED" + ], + "enumDescriptions": [ + "Evaluation type is not specified.", + "Golden evaluation.", + "Scenario evaluation.", + "Indicates the run includes a mix of golden and scenario evaluations." + ], + "readOnly": true, + "type": "string" + }, + "evaluations": { + "description": "Output only. The evaluations that are part of this run. The list may contain evaluations of either type. This field is mutually exclusive with `evaluation_dataset`. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}`", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "goldenRunMethod": { + "description": "Output only. The method used to run the evaluation.", + "enum": [ + "GOLDEN_RUN_METHOD_UNSPECIFIED", + "STABLE", + "NAIVE" + ], + "enumDescriptions": [ + "Run method is not specified.", + "Run the evaluation as stable replay, where each turn is a unique session with the previous expected turns injected as context.", + "Run the evaluation as naive replay, where the run is a single session with no context injected." + ], + "readOnly": true, + "type": "string" + }, + "initiatedBy": { + "description": "Output only. The user who initiated the evaluation run.", + "readOnly": true, + "type": "string" + }, + "latencyReport": { + "$ref": "LatencyReport", + "description": "Output only. Latency report for the evaluation run.", + "readOnly": true + }, + "name": { + "description": "Identifier. The unique identifier of the evaluation run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}`", + "type": "string" + }, + "optimizationConfig": { + "$ref": "OptimizationConfig", + "description": "Optional. Configuration for running the optimization step after the evaluation run. If not set, the optimization step will not be run." + }, + "personaRunConfigs": { + "description": "Output only. The configuration to use for the run per persona.", + "items": { + "$ref": "PersonaRunConfig" + }, + "readOnly": true, + "type": "array" + }, + "progress": { + "$ref": "EvaluationRunProgress", + "description": "Output only. The progress of the evaluation run.", + "readOnly": true + }, + "runCount": { + "description": "Output only. The number of times the evaluations inside the run were run.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "scheduledEvaluationRun": { + "description": "Output only. The scheduled evaluation run resource name that created this evaluation run. This field is only set if the evaluation run was created by a scheduled evaluation run. Format: `projects/{project}/locations/{location}/apps/{app}/scheduledEvaluationRuns/{scheduled_evaluation_run}`", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the evaluation run.", + "enum": [ + "EVALUATION_RUN_STATE_UNSPECIFIED", + "RUNNING", + "COMPLETED", + "ERROR" + ], + "enumDescriptions": [ + "Evaluation run state is not specified.", + "Evaluation run is running.", + "Evaluation run has completed.", + "The evaluation run has an error." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EvaluationRunEvaluationRunSummary": { + "description": "Contains the summary of passed and failed result counts for a specific evaluation in an evaluation run.", + "id": "EvaluationRunEvaluationRunSummary", + "properties": { + "errorCount": { + "description": "Output only. Number of error results for the associated Evaluation in this run.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "failedCount": { + "description": "Output only. Number of failed results for the associated Evaluation in this run.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "passedCount": { + "description": "Output only. Number of passed results for the associated Evaluation in this run.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationRunProgress": { + "description": "The progress of the evaluation run.", + "id": "EvaluationRunProgress", + "properties": { + "completedCount": { + "description": "Output only. Number of evaluation results that finished successfully. (EvaluationResult.execution_state is COMPLETED).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "errorCount": { + "description": "Output only. Number of evaluation results that failed to execute. (EvaluationResult.execution_state is ERROR).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "failedCount": { + "description": "Output only. Number of completed evaluation results with an outcome of FAIL. (EvaluationResult.execution_state is COMPLETED and EvaluationResult.evaluation_status is FAIL).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "passedCount": { + "description": "Output only. Number of completed evaluation results with an outcome of PASS. (EvaluationResult.execution_state is COMPLETED and EvaluationResult.evaluation_status is PASS).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "totalCount": { + "description": "Output only. Total number of evaluation results in this run.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "EvaluationScenario": { + "description": "The config for a scenario", + "id": "EvaluationScenario", + "properties": { + "evaluationExpectations": { + "description": "Optional. The evaluation expectations to evaluate the conversation produced by the simulation against. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluationExpectation}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "maxTurns": { + "description": "Optional. The maximum number of turns to simulate. If not specified, the simulation will continue until the task is complete.", + "format": "int32", + "type": "integer" + }, + "rubrics": { + "description": "Required. The rubrics to score the scenario against.", + "items": { + "type": "string" + }, + "type": "array" + }, + "scenarioExpectations": { + "description": "Required. The ScenarioExpectations to evaluate the conversation produced by the user simulation.", + "items": { + "$ref": "EvaluationScenarioExpectation" + }, + "type": "array" + }, + "task": { + "description": "Required. The task to be targeted by the scenario.", + "type": "string" + }, + "taskCompletionBehavior": { + "deprecated": true, + "description": "Optional. Deprecated. Use user_goal_behavior instead.", + "enum": [ + "TASK_COMPLETION_BEHAVIOR_UNSPECIFIED", + "TASK_SATISFIED", + "TASK_REJECTED" + ], + "enumDescriptions": [ + "Behavior unspecified. Will default to TASK_SATISFIED.", + "The user task should be completed successfully.", + "The user task should be rejected." + ], + "type": "string" + }, + "userFacts": { + "description": "Optional. The user facts to be used by the scenario.", + "items": { + "$ref": "EvaluationScenarioUserFact" + }, + "type": "array" + }, + "userGoalBehavior": { + "description": "Optional. The expected behavior of the user goal.", + "enum": [ + "USER_GOAL_BEHAVIOR_UNSPECIFIED", + "USER_GOAL_SATISFIED", + "USER_GOAL_REJECTED", + "USER_GOAL_IGNORED" + ], + "enumDescriptions": [ + "Behavior unspecified. Will default to USER_GOAL_SATISFIED.", + "The user goal should be completed successfully.", + "The user goal should be rejected.", + "Ignore the user goal status." + ], + "type": "string" + }, + "variableOverrides": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Variables / Session Parameters as context for the session, keyed by variable names. Members of this struct will override any default values set by the system. Note, these are different from user facts, which are facts known to the user. Variables are parameters known to the agent: i.e. MDN (phone number) passed by the telephony system.", + "type": "object" + } + }, + "type": "object" + }, + "EvaluationScenarioExpectation": { + "description": "The expectation to evaluate the conversation produced by the simulation.", + "id": "EvaluationScenarioExpectation", + "properties": { + "agentResponse": { + "$ref": "Message", + "description": "Optional. The agent response to be evaluated." + }, + "toolExpectation": { + "$ref": "EvaluationScenarioExpectationToolExpectation", + "description": "Optional. The tool call and response pair to be evaluated." + } + }, + "type": "object" + }, + "EvaluationScenarioExpectationToolExpectation": { + "description": "The tool call and response pair to be evaluated.", + "id": "EvaluationScenarioExpectationToolExpectation", + "properties": { + "expectedToolCall": { + "$ref": "ToolCall", + "description": "Required. The expected tool call, with the parameters of interest specified. Any parameters not specified will be hallucinated by the LLM." + }, + "mockToolResponse": { + "$ref": "ToolResponse", + "description": "Required. The tool response to mock, with the parameters of interest specified. Any parameters not specified will be hallucinated by the LLM." + } + }, + "type": "object" + }, + "EvaluationScenarioUserFact": { + "description": "Facts about the user as a key value pair.", + "id": "EvaluationScenarioUserFact", + "properties": { + "name": { + "description": "Required. The name of the user fact.", + "type": "string" + }, + "value": { + "description": "Required. The value of the user fact.", + "type": "string" + } + }, + "type": "object" + }, + "EvaluationSettings": { + "description": "Settings for evaluation.", + "id": "EvaluationSettings", + "properties": { + "goldenEvaluationToolCallBehaviour": { + "description": "Optional. Configures the default tool call behaviour for golden evaluations.", + "enum": [ + "EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED", + "REAL", + "FAKE" + ], + "enumDescriptions": [ + "Unspecified tool call behavior. Will default to real tool calls.", + "Use real tool calls.", + "Use fake tool calls." + ], + "type": "string" + }, + "goldenRunMethod": { + "description": "Optional. The default method used to run golden evaluations. This will be used if no golden_run_method is specified in the RunEvaluationRequest.", + "enum": [ + "GOLDEN_RUN_METHOD_UNSPECIFIED", + "STABLE", + "NAIVE" + ], + "enumDescriptions": [ + "Run method is not specified.", + "Run the evaluation as stable replay, where each turn is a unique session with the previous expected turns injected as context.", + "Run the evaluation as naive replay, where the run is a single session with no context injected." + ], + "type": "string" + }, + "scenarioConversationInitiator": { + "description": "Optional. Who starts the conversation in a scenario evaluation.", + "enum": [ + "SCENARIO_CONVERSATION_INITIATOR_UNSPECIFIED", + "USER", + "AGENT" + ], + "enumDescriptions": [ + "Unspecified. Defaults to USER.", + "The user starts the conversation.", + "The agent starts the conversation." + ], + "type": "string" + }, + "scenarioEvaluationToolCallBehaviour": { + "description": "Optional. Configures the default tool call behaviour for scenario evaluations.", + "enum": [ + "EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED", + "REAL", + "FAKE" + ], + "enumDescriptions": [ + "Unspecified tool call behavior. Will default to real tool calls.", + "Use real tool calls.", + "Use fake tool calls." + ], + "type": "string" + } + }, + "type": "object" + }, + "EvaluationStep": { + "description": "A step defines a singular action to happen during the evaluation.", + "id": "EvaluationStep", + "properties": { + "agentTransfer": { + "$ref": "AgentTransfer", + "description": "Optional. Transfer the conversation to a different agent." + }, + "expectation": { + "$ref": "EvaluationGoldenExpectation", + "description": "Optional. Executes an expectation on the current turn." + }, + "userInput": { + "$ref": "SessionInput", + "description": "Optional. User input for the conversation." + } + }, + "type": "object" + }, + "Event": { + "description": "Event input.", + "id": "Event", + "properties": { + "event": { + "description": "Required. The name of the event.", + "type": "string" + } + }, + "type": "object" + }, + "Example": { + "description": "An example represents a sample conversation between the user and the agent(s).", + "id": "Example", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the example was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Human-readable description of the example.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the example.", + "type": "string" + }, + "entryAgent": { + "description": "Optional. The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "invalid": { + "description": "Output only. The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples.", + "readOnly": true, + "type": "boolean" + }, + "messages": { + "description": "Optional. The collection of messages that make up the conversation.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The unique identifier of the example. Format: `projects/{project}/locations/{location}/apps/{app}/examples/{example}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the example was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ExecuteToolRequest": { + "description": "Request message for ToolService.ExecuteTool.", + "id": "ExecuteToolRequest", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The input parameters and values for the tool in JSON object format.", + "type": "object" + }, + "tool": { + "description": "Optional. The name of the tool to execute. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool to execute. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned." + } + }, + "type": "object" + }, + "ExecuteToolResponse": { + "description": "Response message for ToolService.ExecuteTool.", + "id": "ExecuteToolResponse", + "properties": { + "response": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. The tool execution result in JSON object format. Use \"output\" key to specify tool response and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as tool execution result.", + "type": "object" + }, + "tool": { + "description": "The name of the tool that got executed. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "The toolset tool that got executed." + } + }, + "type": "object" + }, + "ExportAppRequest": { + "description": "Request message for AgentService.ExportApp.", + "id": "ExportAppRequest", + "properties": { + "exportFormat": { + "description": "Required. The format to export the app in.", + "enum": [ + "EXPORT_FORMAT_UNSPECIFIED", + "JSON", + "YAML" + ], + "enumDescriptions": [ + "The export format is unspecified.", + "The export format is JSON.", + "The export format is YAML." + ], + "type": "string" + }, + "gcsUri": { + "description": "Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which to export the app. The format of this URI must be `gs:///`. The exported app archive will be written directly to the specified GCS object.", + "type": "string" + } + }, + "type": "object" + }, + "ExportAppResponse": { + "description": "Response message for AgentService.ExportApp.", + "id": "ExportAppResponse", + "properties": { + "appContent": { + "description": "App folder compressed as a zip file.", + "format": "byte", + "type": "string" + }, + "appUri": { + "description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which the app was exported.", + "type": "string" + } + }, + "type": "object" + }, + "ExpressionCondition": { + "description": "Expression condition based on session state.", + "id": "ExpressionCondition", + "properties": { + "expression": { + "description": "Required. The string representation of cloud.api.Expression condition.", + "type": "string" + } + }, + "type": "object" + }, + "FileSearchTool": { + "description": "The file search tool allows the agent to search across the files uploaded by the app/agent developer. It has presets to give relatively good quality search over the uploaded files and summarization of the retrieved results.", + "id": "FileSearchTool", + "properties": { + "corpusType": { + "description": "Optional. The type of the corpus. Default is FULLY_MANAGED.", + "enum": [ + "CORPUS_TYPE_UNSPECIFIED", + "USER_OWNED", + "FULLY_MANAGED" + ], + "enumDescriptions": [ + "Unspecified corpus type.", + "The corpus is created and owned by the user.", + "The corpus is created by the agent." + ], + "type": "string" + }, + "description": { + "description": "Optional. The tool description.", + "type": "string" + }, + "fileCorpus": { + "description": "Optional. The corpus where files are stored. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}", + "type": "string" + }, + "name": { + "description": "Required. The tool name.", + "type": "string" + } + }, + "type": "object" + }, + "GenerateAppResourceResponse": { + "description": "Response message for AgentService.GenerateAppResource.", + "id": "GenerateAppResourceResponse", + "properties": { + "agent": { + "$ref": "Agent", + "description": "Agent generated by the LLM assistant." + }, + "appResources": { + "$ref": "GenerateAppResourceResponseAppResources", + "description": "The app resources generated by the LLM assistant." + }, + "appSnapshot": { + "$ref": "AppSnapshot", + "description": "App snapshot generated by the LLM assistant. This snapshot contains the app, agents & tools generated by the LLM assistant." + }, + "evaluations": { + "$ref": "GenerateAppResourceResponseEvaluations", + "description": "Evaluations generated by the LLM assistant." + }, + "generateResultInfo": { + "$ref": "GenerateAppResourceResponseGenerateResultInfo", + "description": "Additional information about the generated result." + }, + "tools": { + "$ref": "GenerateAppResourceResponseTools", + "description": "The list of tools generated by the LLM assistant." + }, + "toolset": { + "$ref": "Toolset", + "description": "Toolset generated by the LLM assistant. Supports Open API toolset schema generation." + } + }, + "type": "object" + }, + "GenerateAppResourceResponseAppResources": { + "description": "The list of app resources generated by the LLM assistant.", + "id": "GenerateAppResourceResponseAppResources", + "properties": { + "appSnapshot": { + "$ref": "AppSnapshot", + "description": "The app snapshot generated by the LLM assistant. This snapshot contains the app, agents & tools generated by the LLM assistant." + }, + "evaluations": { + "description": "The list of evaluations generated by the LLM assistant.", + "items": { + "$ref": "Evaluation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GenerateAppResourceResponseEvaluations": { + "description": "The list of evaluations generated by the LLM assistant.", + "id": "GenerateAppResourceResponseEvaluations", + "properties": { + "evaluations": { + "description": "The list of generated evaluations.", + "items": { + "$ref": "Evaluation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GenerateAppResourceResponseGenerateResultInfo": { + "description": "This provides additional information about the generated result.", + "id": "GenerateAppResourceResponseGenerateResultInfo", + "properties": { + "explanation": { + "description": "An explanation of the changes in the generated resource.", + "type": "string" + } + }, + "type": "object" + }, + "GenerateAppResourceResponseTools": { + "description": "The list of tools generated by the LLM assistant.", + "id": "GenerateAppResourceResponseTools", + "properties": { + "tools": { + "description": "The list of tools generated by the LLM assistant.", + "items": { + "$ref": "Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "GenerateChatTokenRequest": { + "description": "Request message for WidgetService.GenerateChatToken.", + "id": "GenerateChatTokenRequest", + "properties": { + "deployment": { + "description": "Required. The deployment of the app to use for the session. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}", + "type": "string" + }, + "recaptchaToken": { + "description": "Optional. The reCAPTCHA token generated by the client-side chat widget.", + "type": "string" + } + }, + "type": "object" + }, + "GenerateChatTokenResponse": { + "description": "Response message for WidgetService.GenerateChatToken.", + "id": "GenerateChatTokenResponse", + "properties": { + "chatToken": { + "description": "The session scoped token for chat widget to authenticate with Session APIs.", + "type": "string" + }, + "expireTime": { + "description": "The time at which the chat token expires.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GenerateEvaluationOperationMetadata": { + "description": "Operation metadata for EvaluationService.GenerateEvaluation.", + "id": "GenerateEvaluationOperationMetadata", + "properties": {}, + "type": "object" + }, + "GenerateEvaluationRequest": { + "description": "Request message for EvaluationService.GenerateEvaluation.", + "id": "GenerateEvaluationRequest", + "properties": { + "source": { + "deprecated": true, + "description": "Optional. Indicate the source of the conversation. If not set, all sources will be searched.", + "enum": [ + "SOURCE_UNSPECIFIED", + "LIVE", + "SIMULATOR", + "EVAL" + ], + "enumDescriptions": [ + "Unspecified source.", + "The conversation is from the live end user.", + "The conversation is from the simulator.", + "The conversation is from the evaluation." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleSearchSuggestions": { + "description": "Search suggestions from Google Search Tool.", + "id": "GoogleSearchSuggestions", + "properties": { + "htmls": { + "description": "Compliant HTML and CSS styling for search suggestions. The provided HTML and CSS automatically adapts to your device settings, displaying in either light or dark mode indicated by `@media(prefers-color-scheme)`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "webSearchQueries": { + "description": "List of queries used to perform the google search along with the search result URIs forming the search suggestions.", + "items": { + "$ref": "WebSearchQuery" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleSearchTool": { + "description": "Represents a tool to perform Google web searches for grounding. See https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search.", + "id": "GoogleSearchTool", + "properties": { + "contextUrls": { + "description": "Optional. Content will be fetched directly from these URLs for context and grounding. Example: \"https://example.com/path.html\". A maximum of 20 URLs are allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Optional. Description of the tool's purpose.", + "type": "string" + }, + "excludeDomains": { + "description": "Optional. List of domains to be excluded from the search results. Example: \"example.com\". A maximum of 2000 domains can be excluded.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Required. The name of the tool.", + "type": "string" + }, + "preferredDomains": { + "description": "Optional. Specifies domains to restrict search results to. Example: \"example.com\", \"another.site\". A maximum of 20 domains can be specified.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Guardrail": { + "description": "Guardrail contains a list of checks and balances to keep the agents safe and secure.", + "id": "Guardrail", + "properties": { + "action": { + "$ref": "TriggerAction", + "description": "Optional. Action to take when the guardrail is triggered." + }, + "codeCallback": { + "$ref": "GuardrailCodeCallback", + "description": "Optional. Guardrail that potentially blocks the conversation based on the result of the callback execution." + }, + "contentFilter": { + "$ref": "GuardrailContentFilter", + "description": "Optional. Guardrail that bans certain content from being used in the conversation." + }, + "createTime": { + "description": "Output only. Timestamp when the guardrail was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the guardrail.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the guardrail.", + "type": "string" + }, + "enabled": { + "description": "Optional. Whether the guardrail is enabled.", + "type": "boolean" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "llmPolicy": { + "$ref": "GuardrailLlmPolicy", + "description": "Optional. Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification." + }, + "llmPromptSecurity": { + "$ref": "GuardrailLlmPromptSecurity", + "description": "Optional. Guardrail that blocks the conversation if the prompt is considered unsafe based on the LLM classification." + }, + "modelSafety": { + "$ref": "GuardrailModelSafety", + "description": "Optional. Guardrail that blocks the conversation if the LLM response is considered unsafe based on the model safety settings." + }, + "name": { + "description": "Identifier. The unique identifier of the guardrail. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the guardrail was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GuardrailCodeCallback": { + "description": "Guardrail that blocks the conversation based on the code callbacks provided.", + "id": "GuardrailCodeCallback", + "properties": { + "afterAgentCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute after the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + }, + "afterModelCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + }, + "beforeAgentCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute before the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + }, + "beforeModelCallback": { + "$ref": "Callback", + "description": "Optional. The callback to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing." + } + }, + "type": "object" + }, + "GuardrailContentFilter": { + "description": "Guardrail that bans certain content from being used in the conversation.", + "id": "GuardrailContentFilter", + "properties": { + "bannedContents": { + "description": "Optional. List of banned phrases. Applies to both user inputs and agent responses.", + "items": { + "type": "string" + }, + "type": "array" + }, + "bannedContentsInAgentResponse": { + "description": "Optional. List of banned phrases. Applies only to agent responses.", + "items": { + "type": "string" + }, + "type": "array" + }, + "bannedContentsInUserInput": { + "description": "Optional. List of banned phrases. Applies only to user inputs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "disregardDiacritics": { + "description": "Optional. If true, diacritics are ignored during matching.", + "type": "boolean" + }, + "matchType": { + "description": "Required. Match type for the content filter.", + "enum": [ + "MATCH_TYPE_UNSPECIFIED", + "SIMPLE_STRING_MATCH", + "WORD_BOUNDARY_STRING_MATCH", + "REGEXP_MATCH" + ], + "enumDescriptions": [ + "Match type is not specified.", + "Content is matched for substrings character by character.", + "Content only matches if the pattern found in the text is surrounded by word delimiters. Banned phrases can also contain word delimiters.", + "Content is matched using regular expression syntax." + ], + "type": "string" + } + }, + "type": "object" + }, + "GuardrailLlmPolicy": { + "description": "Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification.", + "id": "GuardrailLlmPolicy", + "properties": { + "allowShortUtterance": { + "description": "Optional. By default, the LLM policy check is bypassed for short utterances. Enabling this setting applies the policy check to all utterances, including those that would normally be skipped.", + "type": "boolean" + }, + "failOpen": { + "description": "Optional. If an error occurs during the policy check, fail open and do not trigger the guardrail.", + "type": "boolean" + }, + "maxConversationMessages": { + "description": "Optional. When checking this policy, consider the last 'n' messages in the conversation. When not set a default value of 10 will be used.", + "format": "int32", + "type": "integer" + }, + "modelSettings": { + "$ref": "ModelSettings", + "description": "Optional. Model settings." + }, + "policyScope": { + "description": "Required. Defines when to apply the policy check during the conversation. If set to `POLICY_SCOPE_UNSPECIFIED`, the policy will be applied to the user input. When applying the policy to the agent response, additional latency will be introduced before the agent can respond.", + "enum": [ + "POLICY_SCOPE_UNSPECIFIED", + "USER_QUERY", + "AGENT_RESPONSE", + "USER_QUERY_AND_AGENT_RESPONSE" + ], + "enumDescriptions": [ + "Policy scope is not specified.", + "Policy check is triggered on user input.", + "Policy check is triggered on agent response. Applying this policy scope will introduce additional latency before the agent can respond.", + "Policy check is triggered on both user input and agent response. Applying this policy scope will introduce additional latency before the agent can respond." + ], + "type": "string" + }, + "prompt": { + "description": "Required. Policy prompt.", + "type": "string" + } + }, + "type": "object" + }, + "GuardrailLlmPromptSecurity": { + "description": "Guardrail that blocks the conversation if the input is considered unsafe based on the LLM classification.", + "id": "GuardrailLlmPromptSecurity", + "properties": { + "customPolicy": { + "$ref": "GuardrailLlmPolicy", + "description": "Optional. Use a user-defined LlmPolicy to configure the security guardrail." + }, + "defaultSettings": { + "$ref": "GuardrailLlmPromptSecurityDefaultSecuritySettings", + "description": "Optional. Use the system's predefined default security settings. To select this mode, include an empty 'default_settings' message in the request. The 'default_prompt_template' field within will be populated by the server in the response." + }, + "failOpen": { + "description": "Optional. Determines the behavior when the guardrail encounters an LLM error. - If true: the guardrail is bypassed. - If false (default): the guardrail triggers/blocks. Note: If a custom policy is provided, this field is ignored in favor of the policy's 'fail_open' configuration.", + "type": "boolean" + } + }, + "type": "object" + }, + "GuardrailLlmPromptSecurityDefaultSecuritySettings": { + "description": "Configuration for default system security settings.", + "id": "GuardrailLlmPromptSecurityDefaultSecuritySettings", + "properties": { + "defaultPromptTemplate": { + "description": "Output only. The default prompt template used by the system. This field is for display purposes to show the user what prompt the system uses by default. It is OUTPUT_ONLY.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GuardrailModelSafety": { + "description": "Model safety settings overrides. When this is set, it will override the default settings and trigger the guardrail if the response is considered unsafe.", + "id": "GuardrailModelSafety", + "properties": { + "safetySettings": { + "description": "Required. List of safety settings.", + "items": { + "$ref": "GuardrailModelSafetySafetySetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "GuardrailModelSafetySafetySetting": { + "description": "Safety setting.", + "id": "GuardrailModelSafetySafetySetting", + "properties": { + "category": { + "description": "Required. The harm category.", + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT" + ], + "enumDescriptions": [ + "The harm category is unspecified.", + "The harm category is hate speech.", + "The harm category is dangerous content.", + "The harm category is harassment.", + "The harm category is sexually explicit content." + ], + "type": "string" + }, + "threshold": { + "description": "Required. The harm block threshold.", + "enum": [ + "HARM_BLOCK_THRESHOLD_UNSPECIFIED", + "BLOCK_LOW_AND_ABOVE", + "BLOCK_MEDIUM_AND_ABOVE", + "BLOCK_ONLY_HIGH", + "BLOCK_NONE", + "OFF" + ], + "enumDescriptions": [ + "Unspecified harm block threshold.", + "Block low threshold and above (i.e. block more).", + "Block medium threshold and above.", + "Block only high threshold (i.e. block less).", + "Block none.", + "Turn off the safety filter." + ], + "type": "string" + } + }, + "type": "object" + }, + "Image": { + "description": "Represents an image input or output in the conversation.", + "id": "Image", + "properties": { + "data": { + "description": "Required. Raw bytes of the image.", + "format": "byte", + "type": "string" + }, + "mimeType": { + "description": "Required. The IANA standard MIME type of the source data. Supported image types includes: * image/png * image/jpeg * image/webp", + "type": "string" + } + }, + "type": "object" + }, + "ImportAppRequest": { + "description": "Request message for AgentService.ImportApp.", + "id": "ImportAppRequest", + "properties": { + "appContent": { + "description": "Raw bytes representing the compressed zip file with the app folder structure.", + "format": "byte", + "type": "string" + }, + "appId": { + "description": "Optional. The ID to use for the imported app. * If not specified, a unique ID will be automatically assigned for the app. * Otherwise, the imported app will use this ID as the final component of its resource name. If an app with the same ID already exists at the specified location in the project, the content of the existing app will be replaced.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the app to import. * If the app is created on import, and the display name is specified, the imported app will use this display name. If a conflict is detected with an existing app, a timestamp will be appended to the display name to make it unique. * If the app is a reimport, this field should not be set. Providing a display name during reimport will result in an INVALID_ARGUMENT error.", + "type": "string" + }, + "gcsUri": { + "description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI from which to import app. The format of this URI must be `gs:///`.", + "type": "string" + }, + "importOptions": { + "$ref": "ImportAppRequestImportOptions", + "description": "Optional. Options governing the import process for the app." + } + }, + "type": "object" + }, + "ImportAppRequestImportOptions": { + "description": "Configuration options for the app import process. These options control how the import behaves, particularly when conflicts arise with existing app data.", + "id": "ImportAppRequestImportOptions", + "properties": { + "conflictResolutionStrategy": { + "description": "Optional. The strategy to use when resolving conflicts during import.", + "enum": [ + "CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED", + "REPLACE", + "OVERWRITE" + ], + "enumDescriptions": [ + "The conflict resolution strategy is unspecified.", + "Replace existing data with imported data. If an app with the same `app_id` already exists, its content will be updated based on the imported app. - Resources (App, Agents, Tools, Examples, Guardrails, Toolsets) in the imported app that have the same display name as existing resources will overwrite the existing ones. - Imported resources with new display names will be created. - Existing resources that do not have a matching display name in the imported app will remain untouched.", + "Overwrite existing data with imported data. If an app with the same `app_id` already exists, its content will be overwritten with the imported app. - Existing resources (Agents, Tools, Examples, Guardrails, Toolsets) in the app will be deleted. - Imported resources will be created as new resources." + ], + "type": "string" + } + }, + "type": "object" + }, + "ImportAppResponse": { + "description": "Response message for AgentService.ImportApp.", + "id": "ImportAppResponse", + "properties": { + "name": { + "description": "The resource name of the app that was imported.", + "type": "string" + }, + "warnings": { + "description": "Warning messages generated during the import process. If errors occur for specific resources, they will not be included in the imported app and the error will be mentioned here.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ImportEvaluationsOperationMetadata": { + "description": "Represents the metadata of the long-running operation for EvaluationService.ImportEvaluations.", + "id": "ImportEvaluationsOperationMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ImportEvaluationsRequest": { + "description": "Request message for EvaluationService.ImportEvaluations.", + "id": "ImportEvaluationsRequest", + "properties": { + "conversationList": { + "$ref": "ImportEvaluationsRequestConversationList", + "description": "The conversations to import the evaluations from." + }, + "csvContent": { + "description": "Raw bytes representing the csv file with the evaluations structure.", + "format": "byte", + "type": "string" + }, + "gcsUri": { + "description": "The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI from which to import evaluations. The format of this URI must be `gs:///`.", + "type": "string" + }, + "importOptions": { + "$ref": "ImportEvaluationsRequestImportOptions", + "description": "Optional. Options governing the import process for the evaluations." + } + }, + "type": "object" + }, + "ImportEvaluationsRequestConversationList": { + "description": "A list of conversation resource names.", + "id": "ImportEvaluationsRequestConversationList", + "properties": { + "conversations": { + "description": "Optional. Conversation resource names.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ImportEvaluationsRequestImportOptions": { + "description": "Configuration options for the evaluation import process. These options control how the import behaves, particularly when conflicts arise with existing evaluations data.", + "id": "ImportEvaluationsRequestImportOptions", + "properties": { + "conflictResolutionStrategy": { + "description": "Optional. The strategy to use when resolving conflicts during import.", + "enum": [ + "CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED", + "OVERWRITE", + "SKIP", + "DUPLICATE" + ], + "enumDescriptions": [ + "The conflict resolution strategy is unspecified.", + "Overwrite the existing evaluation with the new one.", + "Keep the existing evaluation and skip the new one.", + "Keep the existing evaluation and duplicate the new one as a new evaluation." + ], + "type": "string" + } + }, + "type": "object" + }, + "ImportEvaluationsResponse": { + "description": "Response message for EvaluationService.ImportEvaluations.", + "id": "ImportEvaluationsResponse", + "properties": { + "errorMessages": { + "description": "Optional. A list of error messages associated with evaluations that failed to be imported.", + "items": { + "type": "string" + }, + "type": "array" + }, + "evaluations": { + "description": "The list of evaluations that were imported into the app.", + "items": { + "$ref": "Evaluation" + }, + "type": "array" + }, + "importFailureCount": { + "description": "The number of evaluations that were not imported due to errors.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "InputAudioConfig": { + "description": "InputAudioConfig configures how the CES agent should interpret the incoming audio data.", + "id": "InputAudioConfig", + "properties": { + "audioEncoding": { + "description": "Required. The encoding of the input audio data.", + "enum": [ + "AUDIO_ENCODING_UNSPECIFIED", + "LINEAR16", + "MULAW", + "ALAW" + ], + "enumDescriptions": [ + "Unspecified audio encoding.", + "16-bit linear PCM audio encoding.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law." + ], + "type": "string" + }, + "noiseSuppressionLevel": { + "description": "Optional. Whether to enable noise suppression on the input audio. Available values are \"low\", \"moderate\", \"high\", \"very_high\".", + "type": "string" + }, + "sampleRateHertz": { + "description": "Required. The sample rate (in Hertz) of the input audio data.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "LanguageSettings": { + "description": "Language settings of the app.", + "id": "LanguageSettings", + "properties": { + "defaultLanguageCode": { + "description": "Optional. The default language code of the app.", + "type": "string" + }, + "enableMultilingualSupport": { + "description": "Optional. Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input.", + "type": "boolean" + }, + "fallbackAction": { + "description": "Optional. The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are: - A tool's full resource name, which triggers a specific tool execution. - A predefined system action, such as \"escalate\" or \"exit\", which triggers an EndSession signal with corresponding metadata to terminate the conversation.", + "type": "string" + }, + "supportedLanguageCodes": { + "description": "Optional. List of languages codes supported by the app, in addition to the `default_language_code`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "LatencyReport": { + "description": "Latency report for the evaluation run.", + "id": "LatencyReport", + "properties": { + "callbackLatencies": { + "description": "Output only. Unordered list. Latency metrics for each callback.", + "items": { + "$ref": "LatencyReportCallbackLatency" + }, + "readOnly": true, + "type": "array" + }, + "guardrailLatencies": { + "description": "Output only. Unordered list. Latency metrics for each guardrail.", + "items": { + "$ref": "LatencyReportGuardrailLatency" + }, + "readOnly": true, + "type": "array" + }, + "llmCallLatencies": { + "description": "Output only. Unordered list. Latency metrics for each LLM call.", + "items": { + "$ref": "LatencyReportLlmCallLatency" + }, + "readOnly": true, + "type": "array" + }, + "sessionCount": { + "description": "Output only. The total number of sessions considered in the latency report.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "toolLatencies": { + "description": "Output only. Unordered list. Latency metrics for each tool.", + "items": { + "$ref": "LatencyReportToolLatency" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "LatencyReportCallbackLatency": { + "description": "Latency metrics for a single callback.", + "id": "LatencyReportCallbackLatency", + "properties": { + "latencyMetrics": { + "$ref": "LatencyReportLatencyMetrics", + "description": "Output only. The latency metrics for the callback.", + "readOnly": true + }, + "stage": { + "description": "Output only. The stage of the callback.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LatencyReportGuardrailLatency": { + "description": "Latency metrics for a single guardrail.", + "id": "LatencyReportGuardrailLatency", + "properties": { + "guardrail": { + "description": "Output only. The name of the guardrail. Format: `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`.", + "readOnly": true, + "type": "string" + }, + "guardrailDisplayName": { + "description": "Output only. The display name of the guardrail.", + "readOnly": true, + "type": "string" + }, + "latencyMetrics": { + "$ref": "LatencyReportLatencyMetrics", + "description": "Output only. The latency metrics for the guardrail.", + "readOnly": true + } + }, + "type": "object" + }, + "LatencyReportLatencyMetrics": { + "description": "Latency metrics for a component.", + "id": "LatencyReportLatencyMetrics", + "properties": { + "callCount": { + "description": "Output only. The number of times the resource was called.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "p50Latency": { + "description": "Output only. The 50th percentile latency.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "p90Latency": { + "description": "Output only. The 90th percentile latency.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "p99Latency": { + "description": "Output only. The 99th percentile latency.", + "format": "google-duration", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LatencyReportLlmCallLatency": { + "description": "Latency metrics for a single LLM call.", + "id": "LatencyReportLlmCallLatency", + "properties": { + "latencyMetrics": { + "$ref": "LatencyReportLatencyMetrics", + "description": "Output only. The latency metrics for the LLM call.", + "readOnly": true + }, + "model": { + "description": "Output only. The name of the model.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LatencyReportToolLatency": { + "description": "Latency metrics for a single tool.", + "id": "LatencyReportToolLatency", + "properties": { + "latencyMetrics": { + "$ref": "LatencyReportLatencyMetrics", + "description": "Output only. The latency metrics for the tool.", + "readOnly": true + }, + "tool": { + "description": "Output only. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`.", + "readOnly": true, + "type": "string" + }, + "toolDisplayName": { + "description": "Output only. The display name of the tool.", + "readOnly": true, + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Output only. The toolset tool identifier.", + "readOnly": true + } + }, + "type": "object" + }, + "ListAgentsResponse": { + "description": "Response message for AgentService.ListAgents.", + "id": "ListAgentsResponse", + "properties": { + "agents": { + "description": "The list of agents.", + "items": { + "$ref": "Agent" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListAppVersionsResponse": { + "description": "Response message for AgentService.ListAppVersions.", + "id": "ListAppVersionsResponse", + "properties": { + "appVersions": { + "description": "The list of app versions.", + "items": { + "$ref": "AppVersion" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListAppVersionsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListAppsResponse": { + "description": "Response message for AgentService.ListApps.", + "id": "ListAppsResponse", + "properties": { + "apps": { + "description": "The list of apps.", + "items": { + "$ref": "App" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListAppsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Unordered list. Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListChangelogsResponse": { + "description": "Response message for AgentService.ListChangelogs.", + "id": "ListChangelogsResponse", + "properties": { + "changelogs": { + "description": "The list of changelogs.", + "items": { + "$ref": "Changelog" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListChangelogsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListConversationsResponse": { + "description": "Response message for AgentService.ListConversations.", + "id": "ListConversationsResponse", + "properties": { + "conversations": { + "description": "The list of conversations.", + "items": { + "$ref": "Conversation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListConversationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListDeploymentsResponse": { + "description": "Response message for AgentService.ListDeployments.", + "id": "ListDeploymentsResponse", + "properties": { + "deployments": { + "description": "The list of deployments.", + "items": { + "$ref": "Deployment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListEvaluationDatasetsResponse": { + "description": "Response message for EvaluationService.ListEvaluationDatasets.", + "id": "ListEvaluationDatasetsResponse", + "properties": { + "evaluationDatasets": { + "description": "The list of evaluation datasets.", + "items": { + "$ref": "EvaluationDataset" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListEvaluationDatasetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListEvaluationExpectationsResponse": { + "description": "Response message for EvaluationService.ListEvaluationExpectations.", + "id": "ListEvaluationExpectationsResponse", + "properties": { + "evaluationExpectations": { + "description": "The list of evaluation expectations.", + "items": { + "$ref": "EvaluationExpectation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListEvaluationExpectationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListEvaluationResultsResponse": { + "description": "Response message for EvaluationService.ListEvaluationResults.", + "id": "ListEvaluationResultsResponse", + "properties": { + "evaluationResults": { + "description": "The list of evaluation results.", + "items": { + "$ref": "EvaluationResult" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListEvaluationResultsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListEvaluationRunsResponse": { + "description": "Response message for EvaluationService.ListEvaluationRuns.", + "id": "ListEvaluationRunsResponse", + "properties": { + "evaluationRuns": { + "description": "The list of evaluation runs.", + "items": { + "$ref": "EvaluationRun" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListEvaluationRunsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListEvaluationsResponse": { + "description": "Response message for EvaluationService.ListEvaluations.", + "id": "ListEvaluationsResponse", + "properties": { + "evaluations": { + "description": "The list of evaluations.", + "items": { + "$ref": "Evaluation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListEvaluationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListExamplesResponse": { + "description": "Response message for AgentService.ListExamples.", + "id": "ListExamplesResponse", + "properties": { + "examples": { + "description": "The list of examples.", + "items": { + "$ref": "Example" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListExamplesRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListGuardrailsResponse": { + "description": "Response message for AgentService.ListGuardrails.", + "id": "ListGuardrailsResponse", + "properties": { + "guardrails": { + "description": "The list of guardrails.", + "items": { + "$ref": "Guardrail" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListGuardrailsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + }, + "unreachable": { + "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListScheduledEvaluationRunsResponse": { + "description": "Response message for EvaluationService.ListScheduledEvaluationRuns.", + "id": "ListScheduledEvaluationRunsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as ListScheduledEvaluationRunsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "scheduledEvaluationRuns": { + "description": "The list of scheduled evaluation runs.", + "items": { + "$ref": "ScheduledEvaluationRun" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListToolsResponse": { + "description": "Response message for AgentService.ListTools.", + "id": "ListToolsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as ListToolsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "tools": { + "description": "The list of tools.", + "items": { + "$ref": "Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListToolsetsResponse": { + "description": "Response message for AgentService.ListToolsets.", + "id": "ListToolsetsResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as ListToolsetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "type": "string" + }, + "toolsets": { + "description": "The list of toolsets.", + "items": { + "$ref": "Toolset" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "LoggingSettings": { + "description": "Settings to describe the logging behaviors for the app.", + "id": "LoggingSettings", + "properties": { + "audioRecordingConfig": { + "$ref": "AudioRecordingConfig", + "description": "Optional. Configuration for how audio interactions should be recorded." + }, + "bigqueryExportSettings": { + "$ref": "BigQueryExportSettings", + "description": "Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled." + }, + "cloudLoggingSettings": { + "$ref": "CloudLoggingSettings", + "description": "Optional. Settings to describe the Cloud Logging behaviors for the app." + }, + "conversationLoggingSettings": { + "$ref": "ConversationLoggingSettings", + "description": "Optional. Settings to describe the conversation logging behaviors for the app." + }, + "evaluationAudioRecordingConfig": { + "$ref": "AudioRecordingConfig", + "description": "Optional. Configuration for how audio interactions should be recorded for the evaluation. By default, audio recording is not enabled for evaluation sessions." + }, + "metricAnalysisSettings": { + "$ref": "MetricAnalysisSettings", + "description": "Optional. Settings to describe the conversation data collection behaviors for the LLM analysis pipeline for the app." + }, + "redactionConfig": { + "$ref": "RedactionConfig", + "description": "Optional. Configuration for how sensitive data should be redacted." + } + }, + "type": "object" + }, + "McpTool": { + "description": "An MCP tool. See https://modelcontextprotocol.io/specification/2025-06-18/server/tools for more details.", + "id": "McpTool", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required to execute the tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication." + }, + "description": { + "description": "Optional. The description of the MCP tool.", + "type": "string" + }, + "inputSchema": { + "$ref": "Schema", + "description": "Optional. The schema of the input arguments of the MCP tool." + }, + "name": { + "description": "Required. The name of the MCP tool.", + "type": "string" + }, + "outputSchema": { + "$ref": "Schema", + "description": "Optional. The schema of the output arguments of the MCP tool." + }, + "serverAddress": { + "description": "Required. The server address of the MCP server, e.g., \"https://example.com/mcp/\". If the server is built with the MCP SDK, the url should be suffixed with \"/mcp/\". Only Streamable HTTP transport based servers are supported. This is the same as the server_address in the McpToolset. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates that the client should trust." + } + }, + "type": "object" + }, + "McpToolset": { + "description": "A toolset that contains a list of tools that are offered by the MCP server.", + "id": "McpToolset", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required to access tools and execute a tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication." + }, + "serverAddress": { + "description": "Required. The address of the MCP server, for example, \"https://example.com/mcp/\". If the server is built with the MCP SDK, the url should be suffixed with \"/mcp/\". Only Streamable HTTP transport based servers are supported. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates that the client should trust." + } + }, + "type": "object" + }, + "Message": { + "description": "A message within a conversation.", + "id": "Message", + "properties": { + "chunks": { + "description": "Optional. Content of the message as a series of chunks.", + "items": { + "$ref": "Chunk" + }, + "type": "array" + }, + "eventTime": { + "description": "Optional. Timestamp when the message was sent or received. Should not be used if the message is part of an example.", + "format": "google-datetime", + "type": "string" + }, + "role": { + "description": "Optional. The role within the conversation, e.g., user, agent.", + "type": "string" + } + }, + "type": "object" + }, + "MetricAnalysisSettings": { + "description": "Settings to describe the conversation data collection behaviors for LLM analysis metrics pipeline.", + "id": "MetricAnalysisSettings", + "properties": { + "llmMetricsOptedOut": { + "description": "Optional. Whether to collect conversation data for llm analysis metrics. If true, conversation data will not be collected for llm analysis metrics; otherwise, conversation data will be collected.", + "type": "boolean" + } + }, + "type": "object" + }, + "ModelSettings": { + "description": "Model settings contains various configurations for the LLM model.", + "id": "ModelSettings", + "properties": { + "model": { + "description": "Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent.", + "type": "string" + }, + "temperature": { + "description": "Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "OAuthConfig": { + "description": "Configurations for authentication with OAuth.", + "id": "OAuthConfig", + "properties": { + "clientId": { + "description": "Required. The client ID from the OAuth provider.", + "type": "string" + }, + "clientSecretVersion": { + "description": "Required. The name of the SecretManager secret version resource storing the client secret. Format: `projects/{project}/secrets/{secret}/versions/{version}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + }, + "oauthGrantType": { + "description": "Required. OAuth grant types.", + "enum": [ + "OAUTH_GRANT_TYPE_UNSPECIFIED", + "CLIENT_CREDENTIAL" + ], + "enumDescriptions": [ + "Unspecified. Defaults to CLIENT_CREDENTIAL.", + "Represents the [client credential flow](https://oauth.net/2/grant-types/client-credentials)." + ], + "type": "string" + }, + "scopes": { + "description": "Optional. The OAuth scopes to grant.", + "items": { + "type": "string" + }, + "type": "array" + }, + "tokenEndpoint": { + "description": "Required. The token endpoint in the OAuth provider to exchange for an access token.", + "type": "string" + } + }, + "type": "object" + }, + "Omnichannel": { + "description": "Represents an Omnichannel resource.", + "id": "Omnichannel", + "properties": { + "createTime": { + "description": "Output only. Timestamp when the omnichannel resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Human-readable description of the omnichannel resource.", + "type": "string" + }, + "displayName": { + "description": "Required. Display name of the omnichannel resource.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation.", + "readOnly": true, + "type": "string" + }, + "integrationConfig": { + "$ref": "OmnichannelIntegrationConfig", + "description": "Optional. The integration config for the omnichannel resource." + }, + "name": { + "description": "Identifier. The unique identifier of the omnichannel resource. Format: `projects/{project}/locations/{location}/omnichannels/{omnichannel}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the omnichannel resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfig": { + "description": "OmnichannelIntegrationConfig contains all App integration configs.", + "id": "OmnichannelIntegrationConfig", + "properties": { + "channelConfigs": { + "additionalProperties": { + "$ref": "OmnichannelIntegrationConfigChannelConfig" + }, + "description": "Optional. Various of configuration for handling App events.", + "type": "object" + }, + "routingConfigs": { + "additionalProperties": { + "$ref": "OmnichannelIntegrationConfigRoutingConfig" + }, + "description": "Optional. The key of routing_configs is a key of `app_configs`, value is a `RoutingConfig`, which contains subscriber's key.", + "type": "object" + }, + "subscriberConfigs": { + "additionalProperties": { + "$ref": "OmnichannelIntegrationConfigSubscriberConfig" + }, + "description": "Optional. Various of subscribers configs.", + "type": "object" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigCesAppConfig": { + "description": "Configs for CES app.", + "id": "OmnichannelIntegrationConfigCesAppConfig", + "properties": { + "app": { + "description": "The unique identifier of the CES app. Format: `projects/{project}/locations/{location}/apps/{app}`", + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigChannelConfig": { + "description": "ChannelConfig contains config for various of app integration.", + "id": "OmnichannelIntegrationConfigChannelConfig", + "properties": { + "whatsappConfig": { + "$ref": "OmnichannelIntegrationConfigWhatsappConfig", + "description": "WhatsApp config." + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigRoutingConfig": { + "description": "Routing config specify how/who to route app events to a subscriber.", + "id": "OmnichannelIntegrationConfigRoutingConfig", + "properties": { + "subscriberKey": { + "description": "The key of the subscriber.", + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigSubscriberConfig": { + "description": "Configs of subscribers.", + "id": "OmnichannelIntegrationConfigSubscriberConfig", + "properties": { + "cesAppConfig": { + "$ref": "OmnichannelIntegrationConfigCesAppConfig", + "description": "Ces app config." + } + }, + "type": "object" + }, + "OmnichannelIntegrationConfigWhatsappConfig": { + "description": "How Omnichannel should receive/reply events from WhatsApp.", + "id": "OmnichannelIntegrationConfigWhatsappConfig", + "properties": { + "metaBusinessPortfolioId": { + "description": "The Meta Business Portfolio (MBP) ID. https://www.facebook.com/business/help/1710077379203657", + "type": "string" + }, + "phoneNumber": { + "description": "The phone number used for sending/receiving messages.", + "type": "string" + }, + "phoneNumberId": { + "description": "The Phone Number ID associated with the WhatsApp Business Account.", + "type": "string" + }, + "webhookVerifyToken": { + "description": "The verify token configured in the Meta App Dashboard for webhook verification.", + "type": "string" + }, + "whatsappBusinessAccountId": { + "description": "The customer's WhatsApp Business Account (WABA) ID.", + "type": "string" + }, + "whatsappBusinessToken": { + "description": "The access token for authenticating API calls to the WhatsApp Cloud API. https://developers.facebook.com/docs/whatsapp/business-management-api/get-started/#business-integration-system-user-access-tokens", + "type": "string" + } + }, + "type": "object" + }, + "OmnichannelOperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OmnichannelOperationMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OpenApiTool": { + "description": "A remote API tool defined by an OpenAPI schema.", + "id": "OpenApiTool", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required by the API." + }, + "description": { + "description": "Optional. The description of the tool. If not provided, the description of the tool will be derived from the OpenAPI schema, from `operation.description` or `operation.summary`.", + "type": "string" + }, + "ignoreUnknownFields": { + "description": "Optional. If true, the agent will ignore unknown fields in the API response.", + "type": "boolean" + }, + "name": { + "description": "Optional. The name of the tool. If not provided, the name of the tool will be derived from the OpenAPI schema, from `operation.operationId`.", + "type": "string" + }, + "openApiSchema": { + "description": "Required. The OpenAPI schema in JSON or YAML format.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates that the client will trust." + }, + "url": { + "description": "Optional. The server URL of the Open API schema. This field is only set in tools in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.", + "type": "string" + } + }, + "type": "object" + }, + "OpenApiToolset": { + "description": "A toolset that contains a list of tools that are defined by an OpenAPI schema.", + "id": "OpenApiToolset", + "properties": { + "apiAuthentication": { + "$ref": "ApiAuthentication", + "description": "Optional. Authentication information required by the API." + }, + "ignoreUnknownFields": { + "description": "Optional. If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema.", + "type": "boolean" + }, + "openApiSchema": { + "description": "Required. The OpenAPI schema of the toolset.", + "type": "string" + }, + "serviceDirectoryConfig": { + "$ref": "ServiceDirectoryConfig", + "description": "Optional. Service Directory configuration." + }, + "tlsConfig": { + "$ref": "TlsConfig", + "description": "Optional. The TLS configuration. Includes the custom server certificates" + }, + "url": { + "description": "Optional. The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OptimizationConfig": { + "description": "Configuration for running the optimization step after the evaluation run.", + "id": "OptimizationConfig", + "properties": { + "assistantSession": { + "description": "Output only. The assistant session to use for the optimization based on this evaluation run. Format: `projects/{project}/locations/{location}/apps/{app}/assistantSessions/{assistantSession}`", + "readOnly": true, + "type": "string" + }, + "errorMessage": { + "description": "Output only. The error message if the optimization run failed.", + "readOnly": true, + "type": "string" + }, + "generateLossReport": { + "description": "Optional. Whether to generate a loss report.", + "type": "boolean" + }, + "lossReport": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. The generated loss report.", + "readOnly": true, + "type": "object" + }, + "reportSummary": { + "description": "Output only. The summary of the loss report.", + "readOnly": true, + "type": "string" + }, + "shouldSuggestFix": { + "description": "Output only. Whether to suggest a fix for the losses.", + "readOnly": true, + "type": "boolean" + }, + "status": { + "description": "Output only. The status of the optimization run.", + "enum": [ + "OPTIMIZATION_STATUS_UNSPECIFIED", + "RUNNING", + "COMPLETED", + "ERROR" + ], + "enumDescriptions": [ + "Optimization status is not specified.", + "Optimization is running.", + "Optimization has completed.", + "Optimization failed due to an internal error." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OutputAudioConfig": { + "description": "OutputAudioConfig configures how the CES agent should synthesize outgoing audio responses.", + "id": "OutputAudioConfig", + "properties": { + "audioEncoding": { + "description": "Required. The encoding of the output audio data.", + "enum": [ + "AUDIO_ENCODING_UNSPECIFIED", + "LINEAR16", + "MULAW", + "ALAW" + ], + "enumDescriptions": [ + "Unspecified audio encoding.", + "16-bit linear PCM audio encoding.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.", + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law." + ], + "type": "string" + }, + "sampleRateHertz": { + "description": "Required. The sample rate (in Hertz) of the output audio data.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "PersonaRunConfig": { + "description": "Configuration for running an evaluation for a specific persona.", + "id": "PersonaRunConfig", + "properties": { + "persona": { + "description": "Optional. The persona to use for the evaluation. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationPersonas/{evaluationPersona}`", + "type": "string" + }, + "taskCount": { + "description": "Optional. The number of tasks to run for the persona.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "PythonCodeCondition": { + "description": "Python code block to evaluate the condition.", + "id": "PythonCodeCondition", + "properties": { + "pythonCode": { + "description": "Required. The python code to execute.", + "type": "string" + } + }, + "type": "object" + }, + "PythonFunction": { + "description": "A Python function tool.", + "id": "PythonFunction", + "properties": { + "description": { + "description": "Output only. The description of the Python function, parsed from the python code's docstring.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used.", + "type": "string" + }, + "pythonCode": { + "description": "Optional. The Python code to execute for the tool.", + "type": "string" + } + }, + "type": "object" + }, + "RedactionConfig": { + "description": "Configuration to instruct how sensitive data should be handled.", + "id": "RedactionConfig", + "properties": { + "deidentifyTemplate": { + "description": "Optional. [DLP](https://cloud.google.com/dlp/docs) deidentify template name to instruct on how to de-identify content. Format: `projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}`", + "type": "string" + }, + "enableRedaction": { + "description": "Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording.", + "type": "boolean" + }, + "inspectTemplate": { + "description": "Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}`", + "type": "string" + } + }, + "type": "object" + }, + "RestoreAppVersionRequest": { + "description": "Request message for AgentService.RestoreAppVersion", + "id": "RestoreAppVersionRequest", + "properties": {}, + "type": "object" + }, + "RetrieveToolSchemaRequest": { + "description": "Request message for ToolService.RetrieveToolSchema.", + "id": "RetrieveToolSchemaRequest", + "properties": { + "tool": { + "description": "Optional. The name of the tool to retrieve the schema for. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool to retrieve the schema for. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned." + } + }, + "type": "object" + }, + "RetrieveToolSchemaResponse": { + "description": "Response message for ToolService.RetrieveToolSchema.", + "id": "RetrieveToolSchemaResponse", + "properties": { + "inputSchema": { + "$ref": "Schema", + "description": "Required. The schema of the tool input parameters." + }, + "outputSchema": { + "$ref": "Schema", + "description": "Required. The schema of the tool output parameters." + }, + "tool": { + "description": "The name of the tool that the schema is for. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "The toolset tool that the schema is for." + } + }, + "type": "object" + }, + "RetrieveToolsRequest": { + "description": "Request message for ToolService.RetrieveTools.", + "id": "RetrieveToolsRequest", + "properties": { + "toolIds": { + "description": "Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RetrieveToolsResponse": { + "description": "Response message for ToolService.RetrieveTools.", + "id": "RetrieveToolsResponse", + "properties": { + "tools": { + "description": "Required. The list of tools that are included in the specified toolset.", + "items": { + "$ref": "Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunEvaluationRequest": { + "description": "Request message for EvaluationService.RunEvaluation.", + "id": "RunEvaluationRequest", + "properties": { + "app": { + "description": "Required. The app to evaluate. Format: `projects/{project}/locations/{location}/apps/{app}`", + "type": "string" + }, + "appVersion": { + "description": "Optional. The app version to evaluate. Format: `projects/{project}/locations/{location}/apps/{app}/versions/{version}`", + "type": "string" + }, + "config": { + "$ref": "EvaluationConfig", + "description": "Optional. The configuration to use for the run." + }, + "displayName": { + "description": "Optional. The display name of the evaluation run.", + "type": "string" + }, + "evaluationDataset": { + "description": "Optional. An evaluation dataset to run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}`", + "type": "string" + }, + "evaluations": { + "description": "Optional. List of evaluations to run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "generateLatencyReport": { + "description": "Optional. Whether to generate a latency report for the evaluation run.", + "type": "boolean" + }, + "goldenRunMethod": { + "description": "Optional. The method to run the evaluation if it is a golden evaluation. If not set, default to STABLE.", + "enum": [ + "GOLDEN_RUN_METHOD_UNSPECIFIED", + "STABLE", + "NAIVE" + ], + "enumDescriptions": [ + "Run method is not specified.", + "Run the evaluation as stable replay, where each turn is a unique session with the previous expected turns injected as context.", + "Run the evaluation as naive replay, where the run is a single session with no context injected." + ], + "type": "string" + }, + "optimizationConfig": { + "$ref": "OptimizationConfig", + "description": "Optional. Configuration for running the optimization step after the evaluation run. If not set, the optimization step will not be run." + }, + "personaRunConfigs": { + "description": "Optional. The configuration to use for the run per persona.", + "items": { + "$ref": "PersonaRunConfig" + }, + "type": "array" + }, + "runCount": { + "description": "Optional. The number of times to run the evaluation. If not set, the default value is 1 per golden, and 5 per scenario.", + "format": "int32", + "type": "integer" + }, + "scheduledEvaluationRun": { + "description": "Optional. The resource name of the `ScheduledEvaluationRun` that is triggering this evaluation run. If this field is set, the `scheduled_evaluation_run` field on the created `EvaluationRun` resource will be populated from this value. Format: `projects/{project}/locations/{location}/apps/{app}/scheduledEvaluationRuns/{scheduled_evaluation_run}`", + "type": "string" + } + }, + "type": "object" + }, + "RunSessionRequest": { + "description": "Request message for SessionService.RunSession.", + "id": "RunSessionRequest", + "properties": { + "config": { + "$ref": "SessionConfig", + "description": "Required. The configuration for the session." + }, + "inputs": { + "description": "Required. Inputs for the session.", + "items": { + "$ref": "SessionInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunSessionResponse": { + "description": "Response message for SessionService.RunSession.", + "id": "RunSessionResponse", + "properties": { + "outputs": { + "description": "Outputs for the session.", + "items": { + "$ref": "SessionOutput" + }, + "type": "array" + } + }, + "type": "object" + }, + "ScheduledEvaluationRun": { + "description": "Represents a scheduled evaluation run configuration.", + "id": "ScheduledEvaluationRun", + "properties": { + "active": { + "description": "Optional. Whether this config is active", + "type": "boolean" + }, + "createTime": { + "description": "Output only. Timestamp when the scheduled evaluation run was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createdBy": { + "description": "Output only. The user who created the scheduled evaluation run.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. User-defined description of the scheduled evaluation run.", + "type": "string" + }, + "displayName": { + "description": "Required. User-defined display name of the scheduled evaluation run config.", + "type": "string" + }, + "etag": { + "description": "Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "readOnly": true, + "type": "string" + }, + "lastCompletedRun": { + "description": "Output only. The last successful EvaluationRun of this scheduled execution. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}`", + "readOnly": true, + "type": "string" + }, + "lastUpdatedBy": { + "description": "Output only. The user who last updated the evaluation.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The unique identifier of the scheduled evaluation run config. Format: projects/{projectId}/locations/{locationId}/apps/{appId}/scheduledEvaluationRuns/{scheduledEvaluationRunId}", + "type": "string" + }, + "nextScheduledExecutionTime": { + "description": "Output only. The next time this is scheduled to execute", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "request": { + "$ref": "RunEvaluationRequest", + "description": "Required. The RunEvaluationRequest to schedule" + }, + "schedulingConfig": { + "$ref": "ScheduledEvaluationRunSchedulingConfig", + "description": "Required. Configuration for the timing and frequency with which to execute the evaluations." + }, + "totalExecutions": { + "description": "Output only. The total number of times this run has been executed", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "updateTime": { + "description": "Output only. Timestamp when the evaluation was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ScheduledEvaluationRunSchedulingConfig": { + "description": "Eval scheduling configuration details", + "id": "ScheduledEvaluationRunSchedulingConfig", + "properties": { + "daysOfWeek": { + "description": "Optional. The days of the week to run the eval. Applicable only for Weekly and Biweekly frequencies. 1 is Monday, 2 is Tuesday, ..., 7 is Sunday.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "frequency": { + "description": "Required. The frequency with which to run the eval", + "enum": [ + "FREQUENCY_UNSPECIFIED", + "NONE", + "DAILY", + "WEEKLY", + "BIWEEKLY" + ], + "enumDescriptions": [ + "The frequency is unspecified.", + "Indicates a one-time scheduled run that should not repeat", + "Run the evaluation daily.", + "Run the evaluation weekly.", + "Run the evaluation biweekly." + ], + "type": "string" + }, + "startTime": { + "description": "Required. Timestamp when the eval should start.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Schema": { + "description": "Represents a select subset of an OpenAPI 3.0 schema object.", + "id": "Schema", + "properties": { + "additionalProperties": { + "$ref": "Schema", + "description": "Optional. Can either be a boolean or an object, controls the presence of additional properties." + }, + "anyOf": { + "description": "Optional. The value should be validated against any (one or more) of the subschemas in the list.", + "items": { + "$ref": "Schema" + }, + "type": "array" + }, + "default": { + "description": "Optional. Default value of the data.", + "type": "any" + }, + "defs": { + "additionalProperties": { + "$ref": "Schema" + }, + "description": "Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema.", + "type": "object" + }, + "description": { + "description": "Optional. The description of the data.", + "type": "string" + }, + "enum": { + "description": "Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:[\"101\", \"201\", \"301\"]}", + "items": { + "type": "string" + }, + "type": "array" + }, + "items": { + "$ref": "Schema", + "description": "Optional. Schema of the elements of Type.ARRAY." + }, + "maxItems": { + "description": "Optional. Maximum number of the elements for Type.ARRAY.", + "format": "int64", + "type": "string" + }, + "maximum": { + "description": "Optional. Maximum value for Type.INTEGER and Type.NUMBER.", + "format": "double", + "type": "number" + }, + "minItems": { + "description": "Optional. Minimum number of the elements for Type.ARRAY.", + "format": "int64", + "type": "string" + }, + "minimum": { + "description": "Optional. Minimum value for Type.INTEGER and Type.NUMBER.", + "format": "double", + "type": "number" + }, + "nullable": { + "description": "Optional. Indicates if the value may be null.", + "type": "boolean" + }, + "prefixItems": { + "description": "Optional. Schemas of initial elements of Type.ARRAY.", + "items": { + "$ref": "Schema" + }, + "type": "array" + }, + "properties": { + "additionalProperties": { + "$ref": "Schema" + }, + "description": "Optional. Properties of Type.OBJECT.", + "type": "object" + }, + "ref": { + "description": "Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named \"Pet\": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the \"pet\" property is a reference to the schema node named \"Pet\". See details in https://json-schema.org/understanding-json-schema/structuring.", + "type": "string" + }, + "required": { + "description": "Optional. Required properties of Type.OBJECT.", + "items": { + "type": "string" + }, + "type": "array" + }, + "title": { + "description": "Optional. The title of the schema.", + "type": "string" + }, + "type": { + "description": "Required. The type of the data.", + "enum": [ + "TYPE_UNSPECIFIED", + "STRING", + "INTEGER", + "NUMBER", + "BOOLEAN", + "OBJECT", + "ARRAY" + ], + "enumDescriptions": [ + "Type unspecified.", + "String type.", + "Integer type.", + "Number type.", + "Boolean type.", + "Object type.", + "Array type." + ], + "type": "string" + }, + "uniqueItems": { + "description": "Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY.", + "type": "boolean" + } + }, + "type": "object" + }, + "ServiceAccountAuthConfig": { + "description": "Configurations for authentication using a custom service account.", + "id": "ServiceAccountAuthConfig", + "properties": { + "scopes": { + "description": "Optional. The OAuth scopes to grant. If not specified, the default scope `https://www.googleapis.com/auth/cloud-platform` is used.", + "items": { + "type": "string" + }, + "type": "array" + }, + "serviceAccount": { + "description": "Required. The email address of the service account used for authentication. CES uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceAgentIdTokenAuthConfig": { + "description": "Configurations for authentication with [ID token](https://cloud.google.com/docs/authentication/token-types#id) generated from service agent.", + "id": "ServiceAgentIdTokenAuthConfig", + "properties": {}, + "type": "object" + }, + "ServiceDirectoryConfig": { + "description": "Configuration for tools using Service Directory.", + "id": "ServiceDirectoryConfig", + "properties": { + "service": { + "description": "Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app.", + "type": "string" + } + }, + "type": "object" + }, + "SessionConfig": { + "description": "The configuration for the session.", + "id": "SessionConfig", + "properties": { + "deployment": { + "description": "Optional. The deployment of the app to use for the session. Format: `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`", + "type": "string" + }, + "entryAgent": { + "description": "Optional. The entry agent to handle the session. If not specified, the session will be handled by the root agent of the app. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "type": "string" + }, + "historicalContexts": { + "description": "Optional. The historical context of the session, including user inputs, agent responses, and other messages. Typically, CES agent would manage session automatically so client doesn't need to explicitly populate this field. However, client can optionally override the historical contexts to force the session start from certain state.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "inputAudioConfig": { + "$ref": "InputAudioConfig", + "description": "Optional. Configuration for processing the input audio." + }, + "outputAudioConfig": { + "$ref": "OutputAudioConfig", + "description": "Optional. Configuration for generating the output audio." + }, + "remoteDialogflowQueryParameters": { + "$ref": "SessionConfigRemoteDialogflowQueryParameters", + "description": "Optional. [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent." + }, + "timeZone": { + "description": "Optional. The time zone of the user. If provided, the agent will use the time zone for date and time related variables. Otherwise, the agent will use the time zone specified in the App.time_zone_settings. The format is the IANA Time Zone Database time zone, e.g. \"America/Los_Angeles\".", + "type": "string" + } + }, + "type": "object" + }, + "SessionConfigRemoteDialogflowQueryParameters": { + "description": "[QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent.", + "id": "SessionConfigRemoteDialogflowQueryParameters", + "properties": { + "endUserMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The end user metadata to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).", + "type": "object" + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The payload to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).", + "type": "object" + }, + "webhookHeaders": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The HTTP headers to be sent as webhook_headers in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).", + "type": "object" + } + }, + "type": "object" + }, + "SessionInput": { + "description": "Input for the session.", + "id": "SessionInput", + "properties": { + "audio": { + "description": "Optional. Audio data from the end user.", + "format": "byte", + "type": "string" + }, + "blob": { + "$ref": "Blob", + "description": "Optional. Blob data from the end user." + }, + "dtmf": { + "description": "Optional. DTMF digits from the end user.", + "type": "string" + }, + "event": { + "$ref": "Event", + "description": "Optional. Event input." + }, + "image": { + "$ref": "Image", + "description": "Optional. Image data from the end user." + }, + "text": { + "description": "Optional. Text data from the end user.", + "type": "string" + }, + "toolResponses": { + "$ref": "ToolResponses", + "description": "Optional. Execution results for the tool calls from the client." + }, + "variables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Contextual variables for the session, keyed by name. Only variables declared in the app will be used by the CES agent. Unrecognized variables will still be sent to the Dialogflow agent as additional session parameters.", + "type": "object" + }, + "willContinue": { + "description": "Optional. A flag to indicate if the current message is a fragment of a larger input in the bidi streaming session. When `true`, the agent will defer processing until a subsequent message with `will_continue` set to `false` is received. Note: This flag has no effect on audio and DTMF inputs, which are always processed in real-time.", + "type": "boolean" + } + }, + "type": "object" + }, + "SessionOutput": { + "description": "Output for the session.", + "id": "SessionOutput", + "properties": { + "audio": { + "description": "Output audio from the CES agent.", + "format": "byte", + "type": "string" + }, + "citations": { + "$ref": "Citations", + "description": "Citations that provide the source information for the agent's generated text." + }, + "diagnosticInfo": { + "$ref": "SessionOutputDiagnosticInfo", + "description": "Optional. Diagnostic information contains execution details during the processing of the input. Only populated in the last SessionOutput (with `turn_completed=true`) for each turn." + }, + "endSession": { + "$ref": "EndSession", + "description": "Indicates the session has ended." + }, + "googleSearchSuggestions": { + "$ref": "GoogleSearchSuggestions", + "description": "The suggestions returned from Google Search as a result of invoking the GoogleSearchTool." + }, + "payload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Custom payload with structured output from the CES agent.", + "type": "object" + }, + "text": { + "description": "Output text from the CES agent.", + "type": "string" + }, + "toolCalls": { + "$ref": "ToolCalls", + "description": "Request for the client to execute the tools." + }, + "turnCompleted": { + "description": "If true, the CES agent has detected the end of the current conversation turn and will provide no further output for this turn.", + "type": "boolean" + }, + "turnIndex": { + "description": "Indicates the sequential order of conversation turn to which this output belongs to, starting from 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SessionOutputDiagnosticInfo": { + "description": "Contains execution details during the processing.", + "id": "SessionOutputDiagnosticInfo", + "properties": { + "messages": { + "description": "List of the messages that happened during the processing.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "rootSpan": { + "$ref": "Span", + "description": "A trace of the entire request processing, represented as a root span. This span can contain nested child spans for specific operations." + } + }, + "type": "object" + }, + "Span": { + "description": "A span is a unit of work or a single operation during the request processing.", + "id": "Span", + "properties": { + "attributes": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. Key-value attributes associated with the span.", + "readOnly": true, + "type": "object" + }, + "childSpans": { + "description": "Output only. The child spans that are nested under this span.", + "items": { + "$ref": "Span" + }, + "readOnly": true, + "type": "array" + }, + "duration": { + "description": "Output only. The duration of the span.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The end time of the span.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The name of the span.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The start time of the span.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "SynthesizeSpeechConfig": { + "description": "Configuration for how the agent response should be synthesized.", + "id": "SynthesizeSpeechConfig", + "properties": { + "speakingRate": { + "description": "Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error.", + "format": "double", + "type": "number" + }, + "voice": { + "description": "Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices) from Cloud Text-to-Speech.", + "type": "string" + } + }, + "type": "object" + }, + "SystemTool": { + "description": "Pre-defined system tool.", + "id": "SystemTool", + "properties": { + "description": { + "description": "Output only. The description of the system tool.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. The name of the system tool.", + "type": "string" + } + }, + "type": "object" + }, + "TestPersonaVoiceRequest": { + "description": "Request message for EvaluationService.TestPersonaVoice.", + "id": "TestPersonaVoiceRequest", + "properties": { + "personaId": { + "description": "Required. The persona ID to test the voice for. Also accepts \"default\".", + "type": "string" + }, + "text": { + "description": "Required. The text to test the voice for.", + "type": "string" + } + }, + "type": "object" + }, + "TestPersonaVoiceResponse": { + "description": "Response message for EvaluationService.TestPersonaVoice.", + "id": "TestPersonaVoiceResponse", + "properties": { + "audio": { + "description": "The audio data bytes of the synthesized voice.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "TimeZoneSettings": { + "description": "TimeZone settings of the app.", + "id": "TimeZoneSettings", + "properties": { + "timeZone": { + "description": "Optional. The time zone of the app from the [time zone database](https://www.iana.org/time-zones), e.g., America/Los_Angeles, Europe/Paris.", + "type": "string" + } + }, + "type": "object" + }, + "TlsConfig": { + "description": "The TLS configuration.", + "id": "TlsConfig", + "properties": { + "caCerts": { + "description": "Required. Specifies a list of allowed custom CA certificates for HTTPS verification.", + "items": { + "$ref": "TlsConfigCaCert" + }, + "type": "array" + } + }, + "type": "object" + }, + "TlsConfigCaCert": { + "description": "The CA certificate.", + "id": "TlsConfigCaCert", + "properties": { + "cert": { + "description": "Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with \"subject alt name\". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr \\ -signkey example.com.key \\ -out example.com.crt \\ -extfile <(printf \"\\nsubjectAltName='DNS:www.example.com'\")", + "format": "byte", + "type": "string" + }, + "displayName": { + "description": "Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates.", + "type": "string" + } + }, + "type": "object" + }, + "Tool": { + "description": "A tool represents an action that the CES agent can take to achieve certain goals.", + "id": "Tool", + "properties": { + "clientFunction": { + "$ref": "ClientFunction", + "description": "Optional. The client function." + }, + "connectorTool": { + "$ref": "ConnectorTool", + "description": "Optional. The Integration Connector tool." + }, + "createTime": { + "description": "Output only. Timestamp when the tool was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataStoreTool": { + "$ref": "DataStoreTool", + "description": "Optional. The data store tool." + }, + "displayName": { + "description": "Output only. The display name of the tool, derived based on the tool's type. For example, display name of a ClientFunction is derived from its `name` property.", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "executionType": { + "description": "Optional. The execution type of the tool.", + "enum": [ + "EXECUTION_TYPE_UNSPECIFIED", + "SYNCHRONOUS", + "ASYNCHRONOUS" + ], + "enumDescriptions": [ + "The execution type is unspecified. Defaults to `SYNCHRONOUS` if unspecified.", + "The tool is executed synchronously. The session is blocked until the tool returns.", + "The tool is executed asynchronously. The session will continue while the tool is executing." + ], + "type": "string" + }, + "fileSearchTool": { + "$ref": "FileSearchTool", + "description": "Optional. The file search tool." + }, + "generatedSummary": { + "description": "Output only. If the tool is generated by the LLM assistant, this field contains a descriptive summary of the generation.", + "readOnly": true, + "type": "string" + }, + "googleSearchTool": { + "$ref": "GoogleSearchTool", + "description": "Optional. The google search tool." + }, + "mcpTool": { + "$ref": "McpTool", + "description": "Optional. The MCP tool. An MCP tool cannot be created or updated directly and is managed by the MCP toolset." + }, + "name": { + "description": "Identifier. The unique identifier of the tool. Format: - `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` for ## standalone tools. `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected.", + "type": "string" + }, + "openApiTool": { + "$ref": "OpenApiTool", + "description": "Optional. The open API tool." + }, + "pythonFunction": { + "$ref": "PythonFunction", + "description": "Optional. The python function tool." + }, + "systemTool": { + "$ref": "SystemTool", + "description": "Optional. The system tool." + }, + "toolFakeConfig": { + "$ref": "ToolFakeConfig", + "description": "Optional. Configuration for tool behavior in fake mode." + }, + "updateTime": { + "description": "Output only. Timestamp when the tool was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "widgetTool": { + "$ref": "WidgetTool", + "description": "Optional. The widget tool." + } + }, + "type": "object" + }, + "ToolCall": { + "description": "Request for the client or the agent to execute the specified tool.", + "id": "ToolCall", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The input parameters and values for the tool in JSON object format.", + "type": "object" + }, + "displayName": { + "description": "Output only. Display name of the tool.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse.", + "type": "string" + }, + "tool": { + "description": "Optional. The name of the tool to execute. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool to execute." + } + }, + "type": "object" + }, + "ToolCalls": { + "description": "Request for the client to execute the tools and return the execution results before continuing the session.", + "id": "ToolCalls", + "properties": { + "toolCalls": { + "description": "Optional. The list of tool calls to execute.", + "items": { + "$ref": "ToolCall" + }, + "type": "array" + } + }, + "type": "object" + }, + "ToolFakeConfig": { + "description": "Configuration for tool behavior in fake mode.", + "id": "ToolFakeConfig", + "properties": { + "codeBlock": { + "$ref": "CodeBlock", + "description": "Optional. Code block which will be executed instead of a real tool call." + }, + "enableFakeMode": { + "description": "Optional. Whether the tool is using fake mode.", + "type": "boolean" + } + }, + "type": "object" + }, + "ToolResponse": { + "description": "The execution result of a specific tool from the client or the agent.", + "id": "ToolResponse", + "properties": { + "displayName": { + "description": "Output only. Display name of the tool.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Optional. The matching ID of the tool call the response is for.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. The tool execution result in JSON object format. Use \"output\" key to specify tool response and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as tool execution result.", + "type": "object" + }, + "tool": { + "description": "Optional. The name of the tool to execute. Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`", + "type": "string" + }, + "toolsetTool": { + "$ref": "ToolsetTool", + "description": "Optional. The toolset tool that got executed." + } + }, + "type": "object" + }, + "ToolResponses": { + "description": "Execution results for the requested tool calls from the client.", + "id": "ToolResponses", + "properties": { + "toolResponses": { + "description": "Optional. The list of tool execution results.", + "items": { + "$ref": "ToolResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "Toolset": { + "description": "A toolset represents a group of dynamically managed tools that can be used by the agent.", + "id": "Toolset", + "properties": { + "connectorToolset": { + "$ref": "ConnectorToolset", + "description": "Optional. A toolset that generates tools from an Integration Connectors Connection." + }, + "createTime": { + "description": "Output only. Timestamp when the toolset was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the toolset.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the toolset. Must be unique within the same app.", + "type": "string" + }, + "etag": { + "description": "ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.", + "type": "string" + }, + "executionType": { + "description": "Optional. The execution type of the tools in the toolset.", + "enum": [ + "EXECUTION_TYPE_UNSPECIFIED", + "SYNCHRONOUS", + "ASYNCHRONOUS" + ], + "enumDescriptions": [ + "The execution type is unspecified. Defaults to `SYNCHRONOUS` if unspecified.", + "The tool is executed synchronously. The session is blocked until the tool returns.", + "The tool is executed asynchronously. The session will continue while the tool is executing." + ], + "type": "string" + }, + "mcpToolset": { + "$ref": "McpToolset", + "description": "Optional. A toolset that contains a list of tools that are offered by the MCP server." + }, + "name": { + "description": "Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "type": "string" + }, + "openApiToolset": { + "$ref": "OpenApiToolset", + "description": "Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema." + }, + "toolFakeConfig": { + "$ref": "ToolFakeConfig", + "description": "Optional. Configuration for tools behavior in fake mode." + }, + "updateTime": { + "description": "Output only. Timestamp when the toolset was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ToolsetTool": { + "description": "A tool that is created from a toolset.", + "id": "ToolsetTool", + "properties": { + "toolId": { + "description": "Optional. The tool ID to filter the tools to retrieve the schema for.", + "type": "string" + }, + "toolset": { + "description": "Required. The resource name of the Toolset from which this tool is derived. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`", + "type": "string" + } + }, + "type": "object" + }, + "TransferRule": { + "description": "Rule for transferring to a specific agent.", + "id": "TransferRule", + "properties": { + "childAgent": { + "description": "Required. The resource name of the child agent the rule applies to. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + }, + "deterministicTransfer": { + "$ref": "TransferRuleDeterministicTransfer", + "description": "Optional. A rule that immediately transfers to the target agent when the condition is met." + }, + "direction": { + "description": "Required. The direction of the transfer.", + "enum": [ + "DIRECTION_UNSPECIFIED", + "PARENT_TO_CHILD", + "CHILD_TO_PARENT" + ], + "enumDescriptions": [ + "Unspecified direction.", + "Transfer from the parent agent to the child agent.", + "Transfer from the child agent to the parent agent." + ], + "type": "string" + }, + "disablePlannerTransfer": { + "$ref": "TransferRuleDisablePlannerTransfer", + "description": "Optional. Rule that prevents the planner from transferring to the target agent." + } + }, + "type": "object" + }, + "TransferRuleDeterministicTransfer": { + "description": "Deterministic transfer rule. When the condition evaluates to true, the transfer occurs.", + "id": "TransferRuleDeterministicTransfer", + "properties": { + "expressionCondition": { + "$ref": "ExpressionCondition", + "description": "Optional. A rule that evaluates a session state condition. If the condition evaluates to true, the transfer occurs." + }, + "pythonCodeCondition": { + "$ref": "PythonCodeCondition", + "description": "Optional. A rule that uses Python code block to evaluate the conditions. If the condition evaluates to true, the transfer occurs." + } + }, + "type": "object" + }, + "TransferRuleDisablePlannerTransfer": { + "description": "A rule that prevents the planner from transferring to the target agent.", + "id": "TransferRuleDisablePlannerTransfer", + "properties": { + "expressionCondition": { + "$ref": "ExpressionCondition", + "description": "Required. If the condition evaluates to true, planner will not be allowed to transfer to the target agent." + } + }, + "type": "object" + }, + "TriggerAction": { + "description": "Action that is taken when a certain precondition is met.", + "id": "TriggerAction", + "properties": { + "generativeAnswer": { + "$ref": "TriggerActionGenerativeAnswer", + "description": "Optional. Respond with a generative answer." + }, + "respondImmediately": { + "$ref": "TriggerActionRespondImmediately", + "description": "Optional. Immediately respond with a preconfigured response." + }, + "transferAgent": { + "$ref": "TriggerActionTransferAgent", + "description": "Optional. Transfer the conversation to a different agent." + } + }, + "type": "object" + }, + "TriggerActionGenerativeAnswer": { + "description": "The agent will immediately respond with a generative answer.", + "id": "TriggerActionGenerativeAnswer", + "properties": { + "prompt": { + "description": "Required. The prompt to use for the generative answer.", + "type": "string" + } + }, + "type": "object" + }, + "TriggerActionRespondImmediately": { + "description": "The agent will immediately respond with a preconfigured response.", + "id": "TriggerActionRespondImmediately", + "properties": { + "responses": { + "description": "Required. The canned responses for the agent to choose from. The response is chosen randomly.", + "items": { + "$ref": "TriggerActionResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "TriggerActionResponse": { + "description": "Represents a response from the agent.", + "id": "TriggerActionResponse", + "properties": { + "disabled": { + "description": "Optional. Whether the response is disabled. Disabled responses are not used by the agent.", + "type": "boolean" + }, + "text": { + "description": "Required. Text for the agent to respond with.", + "type": "string" + } + }, + "type": "object" + }, + "TriggerActionTransferAgent": { + "description": "The agent will transfer the conversation to a different agent.", + "id": "TriggerActionTransferAgent", + "properties": { + "agent": { + "description": "Required. The name of the agent to transfer the conversation to. The agent must be in the same app as the current agent. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", + "type": "string" + } + }, + "type": "object" + }, + "WebSearchQuery": { + "description": "Represents a single web search query and its associated search uri.", + "id": "WebSearchQuery", + "properties": { + "query": { + "description": "The search query text.", + "type": "string" + }, + "uri": { + "description": "The URI to the Google Search results page for the query.", + "type": "string" + } + }, + "type": "object" + }, + "WidgetTool": { + "description": "Represents a widget tool that the agent can invoke. When the tool is chosen by the agent, agent will return the widget to the client. The client is responsible for processing the widget and generating the next user query to continue the interaction with the agent.", + "id": "WidgetTool", + "properties": { + "description": { + "description": "Optional. The description of the widget tool.", + "type": "string" + }, + "name": { + "description": "Required. The display name of the widget tool.", + "type": "string" + }, + "parameters": { + "$ref": "Schema", + "description": "Optional. The input parameters of the widget tool." + }, + "widgetType": { + "description": "Optional. The type of the widget tool. If not specified, the default type will be CUSTOMIZED.", + "enum": [ + "WIDGET_TYPE_UNSPECIFIED", + "CUSTOM", + "PRODUCT_CAROUSEL", + "PRODUCT_DETAILS", + "QUICK_ACTIONS", + "PRODUCT_COMPARISON", + "ADVANCED_PRODUCT_DETAILS", + "SHORT_FORM", + "OVERALL_SATISFACTION", + "ORDER_SUMMARY" + ], + "enumDescriptions": [ + "Unspecified widget type.", + "Custom widget type.", + "Product carousel widget.", + "Product details widget.", + "Quick actions widget.", + "Product comparison widget.", + "Advanced product details widget.", + "Short form widget.", + "Overall satisfaction widget.", + "Order summary widget." + ], + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Gemini Enterprise for Customer Experience API", + "version": "v1beta", + "version_module": true +} \ No newline at end of file diff --git a/src/apis/ces/README.md b/src/apis/ces/README.md new file mode 100644 index 0000000000..42e04e58cd --- /dev/null +++ b/src/apis/ces/README.md @@ -0,0 +1,28 @@ +Google Inc. logo + +# ces + +> + +## Installation + +```sh +$ npm install @googleapis/ces +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/googleapis/google-api-nodejs-client). +Information on classes can be found in [Googleapis Documentation](https://googleapis.dev/nodejs/googleapis/latest/ces/classes/Ces.html). + +## License +This library is licensed under Apache 2.0. Full license text is available in [LICENSE](https://github.com/googleapis/google-api-nodejs-client/blob/main/LICENSE). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/main/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/googleapis/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/src/apis/ces/index.ts b/src/apis/ces/index.ts new file mode 100644 index 0000000000..1ef6ea899f --- /dev/null +++ b/src/apis/ces/index.ts @@ -0,0 +1,48 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*! THIS FILE IS AUTO-GENERATED */ + +import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; +import {ces_v1} from './v1'; +import {ces_v1beta} from './v1beta'; + +export const VERSIONS = { + v1: ces_v1.Ces, + v1beta: ces_v1beta.Ces, +}; + +export function ces(version: 'v1'): ces_v1.Ces; +export function ces(options: ces_v1.Options): ces_v1.Ces; +export function ces(version: 'v1beta'): ces_v1beta.Ces; +export function ces(options: ces_v1beta.Options): ces_v1beta.Ces; +export function ces( + this: GoogleConfigurable, + versionOrOptions: 'v1' | ces_v1.Options | 'v1beta' | ces_v1beta.Options +) { + return getAPI('ces', versionOrOptions, VERSIONS, this); +} + +const auth = new AuthPlus(); +export {auth}; +export {ces_v1}; +export {ces_v1beta}; +export { + AuthPlus, + GlobalOptions, + APIRequestContext, + GoogleConfigurable, + StreamMethodOptions, + MethodOptions, + BodyResponseCallback, +} from 'googleapis-common'; diff --git a/src/apis/ces/package.json b/src/apis/ces/package.json new file mode 100644 index 0000000000..573cbdf8d4 --- /dev/null +++ b/src/apis/ces/package.json @@ -0,0 +1,43 @@ +{ + "name": "@googleapis/ces", + "version": "0.1.0", + "description": "ces", + "main": "build/index.js", + "types": "build/index.d.ts", + "keywords": [ + "google" + ], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/googleapis/google-api-nodejs-client", + "bugs": { + "url": "https://github.com/googleapis/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/googleapis/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=12.0.0" + }, + "scripts": { + "fix": "gts fix", + "lint": "gts check", + "compile": "tsc -p .", + "prepare": "npm run compile", + "webpack": "webpack" + }, + "dependencies": { + "googleapis-common": "^8.0.0" + }, + "devDependencies": { + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10", + "gts": "^6.0.0", + "null-loader": "^4.0.0", + "ts-loader": "^9.0.0", + "typescript": "5.7.3", + "webpack": "^5.0.0", + "webpack-cli": "^5.0.0" + } +} diff --git a/src/apis/ces/tsconfig.json b/src/apis/ces/tsconfig.json new file mode 100644 index 0000000000..e081090496 --- /dev/null +++ b/src/apis/ces/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "*.ts", + ] +} diff --git a/src/apis/ces/v1.ts b/src/apis/ces/v1.ts new file mode 100644 index 0000000000..1b92d06193 --- /dev/null +++ b/src/apis/ces/v1.ts @@ -0,0 +1,13451 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosResponseWithHTTP2, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace ces_v1 { + export interface Options extends GlobalOptions { + version: 'v1'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Gemini Enterprise for Customer Experience API + * + * + * + * @example + * ```js + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * ``` + */ + export class Ces { + context: APIRequestContext; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + } + } + + /** + * Configuration of an Action for the tool to use. Note: This can be either an Action or an Operation. See https://cloud.google.com/integration-connectors/docs/entities-operation-action for details. + */ + export interface Schema$Action { + /** + * ID of a Connection action for the tool to use. + */ + connectionActionId?: string | null; + /** + * Entity operation configuration for the tool to use. + */ + entityOperation?: Schema$ActionEntityOperation; + /** + * Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used. + */ + inputFields?: string[] | null; + /** + * Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned. + */ + outputFields?: string[] | null; + } + /** + * Entity CRUD operation specification. + */ + export interface Schema$ActionEntityOperation { + /** + * Required. ID of the entity. + */ + entityId?: string | null; + /** + * Required. Operation to perform on the entity. + */ + operation?: string | null; + } + /** + * An agent acts as the fundamental building block that provides instructions to the Large Language Model (LLM) for executing specific tasks. + */ + export interface Schema$Agent { + /** + * Optional. The callbacks to execute after the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + afterAgentCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + afterModelCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute after the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + afterToolCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute before the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + beforeAgentCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + beforeModelCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute before the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + beforeToolCallbacks?: Schema$Callback[]; + /** + * Optional. List of child agents in the agent tree. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + childAgents?: string[] | null; + /** + * Output only. Timestamp when the agent was created. + */ + createTime?: string | null; + /** + * Optional. Human-readable description of the agent. + */ + description?: string | null; + /** + * Required. Display name of the agent. + */ + displayName?: string | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Output only. If the agent is generated by the LLM assistant, this field contains a descriptive summary of the generation. + */ + generatedSummary?: string | null; + /** + * Optional. List of guardrails for the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + guardrails?: string[] | null; + /** + * Optional. Instructions for the LLM model to guide the agent's behavior. + */ + instruction?: string | null; + /** + * Optional. The default agent type. + */ + llmAgent?: Schema$AgentLlmAgent; + /** + * Optional. Configurations for the LLM model. + */ + modelSettings?: Schema$ModelSettings; + /** + * Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + name?: string | null; + /** + * Optional. The remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored. Note: If the Dialogflow agent is in a different project from the app, you should grant `roles/dialogflow.client` to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + remoteDialogflowAgent?: Schema$AgentRemoteDialogflowAgent; + /** + * Optional. List of available tools for the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tools?: string[] | null; + /** + * Optional. List of toolsets for the agent. + */ + toolsets?: Schema$AgentAgentToolset[]; + /** + * Optional. Agent transfer rules. If multiple rules match, the first one in the list will be used. + */ + transferRules?: Schema$TransferRule[]; + /** + * Output only. Timestamp when the agent was last updated. + */ + updateTime?: string | null; + } + /** + * A toolset with a selection of its tools. + */ + export interface Schema$AgentAgentToolset { + /** + * Optional. The tools IDs to filter the toolset. + */ + toolIds?: string[] | null; + /** + * Required. The resource name of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + toolset?: string | null; + } + /** + * Default agent type. The agent uses instructions and callbacks specified in the agent to perform the task using a large language model. + */ + export interface Schema$AgentLlmAgent {} + /** + * The agent which will transfer execution to a remote [Dialogflow CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent. + */ + export interface Schema$AgentRemoteDialogflowAgent { + /** + * Required. The [Dialogflow](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent resource name. Format: `projects/{project\}/locations/{location\}/agents/{agent\}` + */ + agent?: string | null; + /** + * Optional. The environment ID of the Dialogflow agent to be used for the agent execution. If not specified, the draft environment will be used. + */ + environmentId?: string | null; + /** + * Optional. The flow ID of the flow in the Dialogflow agent. + */ + flowId?: string | null; + /** + * Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. + */ + inputVariableMapping?: {[key: string]: string} | null; + /** + * Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. + */ + outputVariableMapping?: {[key: string]: string} | null; + /** + * Optional. Indicates whether to respect the message-level interruption settings configured in the Dialogflow agent. * If false: all response messages from the Dialogflow agent follow the app-level barge-in settings. * If true: only response messages with [`allow_playback_interruption`](https://docs.cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#text) set to true will be interruptable, all other messages follow the app-level barge-in settings. + */ + respectResponseInterruptionSettings?: boolean | null; + } + /** + * Represents an event indicating the transfer of a conversation to a different agent. + */ + export interface Schema$AgentTransfer { + /** + * Output only. Display name of the agent. + */ + displayName?: string | null; + /** + * Required. The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + targetAgent?: string | null; + } + /** + * Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. + */ + export interface Schema$AmbientSoundConfig { + /** + * Optional. Ambient noise as a mono-channel, 16kHz WAV file stored in [Cloud Storage](https://cloud.google.com/storage). Note: Please make sure the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com` has `storage.objects.get` permission to the Cloud Storage object. + */ + gcsUri?: string | null; + /** + * Optional. Deprecated: `prebuilt_ambient_noise` is deprecated in favor of `prebuilt_ambient_sound`. + */ + prebuiltAmbientNoise?: string | null; + /** + * Optional. Name of the prebuilt ambient sound. Valid values are: - "coffee_shop" - "keyboard" - "keypad" - "hum" - "office_1" - "office_2" - "office_3" - "room_1" - "room_2" - "room_3" - "room_4" - "room_5" - "air_conditioner" + */ + prebuiltAmbientSound?: string | null; + /** + * Optional. Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + */ + volumeGainDb?: number | null; + } + /** + * Authentication information required for API calls. + */ + export interface Schema$ApiAuthentication { + /** + * Optional. Config for API key auth. + */ + apiKeyConfig?: Schema$ApiKeyConfig; + /** + * Optional. Config for bearer token auth. + */ + bearerTokenConfig?: Schema$BearerTokenConfig; + /** + * Optional. Config for OAuth. + */ + oauthConfig?: Schema$OAuthConfig; + /** + * Optional. Config for service account authentication. + */ + serviceAccountAuthConfig?: Schema$ServiceAccountAuthConfig; + /** + * Optional. Config for ID token auth generated from CES service agent. + */ + serviceAgentIdTokenAuthConfig?: Schema$ServiceAgentIdTokenAuthConfig; + } + /** + * Configurations for authentication with API key. + */ + export interface Schema$ApiKeyConfig { + /** + * Required. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + apiKeySecretVersion?: string | null; + /** + * Required. The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name. + */ + keyName?: string | null; + /** + * Required. Key location in the request. + */ + requestLocation?: string | null; + } + /** + * An app serves as a top-level container for a group of agents, including the root agent and its sub-agents, along with their associated configurations. These agents work together to achieve specific goals within the app's context. + */ + export interface Schema$App { + /** + * Optional. Audio processing configuration of the app. + */ + audioProcessingConfig?: Schema$AudioProcessingConfig; + /** + * Optional. The default client certificate settings for the app. + */ + clientCertificateSettings?: Schema$ClientCertificateSettings; + /** + * Output only. Timestamp when the app was created. + */ + createTime?: string | null; + /** + * Optional. The data store settings for the app. + */ + dataStoreSettings?: Schema$DataStoreSettings; + /** + * Optional. The default channel profile used by the app. + */ + defaultChannelProfile?: Schema$ChannelProfile; + /** + * Output only. Number of deployments in the app. + */ + deploymentCount?: number | null; + /** + * Optional. Human-readable description of the app. + */ + description?: string | null; + /** + * Required. Display name of the app. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. The evaluation thresholds for the app. + */ + evaluationMetricsThresholds?: Schema$EvaluationMetricsThresholds; + /** + * Optional. Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents. + */ + globalInstruction?: string | null; + /** + * Optional. List of guardrails for the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + guardrails?: string[] | null; + /** + * Optional. Language settings of the app. + */ + languageSettings?: Schema$LanguageSettings; + /** + * Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. + */ + locked?: boolean | null; + /** + * Optional. Logging settings of the app. + */ + loggingSettings?: Schema$LoggingSettings; + /** + * Optional. Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages. + */ + metadata?: {[key: string]: string} | null; + /** + * Optional. The default LLM model settings for the app. Individual resources (e.g. agents, guardrails) can override these configurations as needed. + */ + modelSettings?: Schema$ModelSettings; + /** + * Identifier. The unique identifier of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + name?: string | null; + /** + * Optional. Whether the app is pinned in the app list. + */ + pinned?: boolean | null; + /** + * Output only. The declarations of predefined variables for the app. + */ + predefinedVariableDeclarations?: Schema$AppVariableDeclaration[]; + /** + * Optional. The root agent is the entry point of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + rootAgent?: string | null; + /** + * Optional. TimeZone settings of the app. + */ + timeZoneSettings?: Schema$TimeZoneSettings; + /** + * Optional. The tool execution mode for the app. If not provided, will default to PARALLEL. + */ + toolExecutionMode?: string | null; + /** + * Output only. Timestamp when the app was last updated. + */ + updateTime?: string | null; + /** + * Optional. The declarations of the variables. + */ + variableDeclarations?: Schema$AppVariableDeclaration[]; + } + /** + * A snapshot of the app. + */ + export interface Schema$AppSnapshot { + /** + * Optional. List of agents in the app. + */ + agents?: Schema$Agent[]; + /** + * Optional. The basic settings for the app. + */ + app?: Schema$App; + /** + * Optional. List of examples in the app. + */ + examples?: Schema$Example[]; + /** + * Optional. List of guardrails in the app. + */ + guardrails?: Schema$Guardrail[]; + /** + * Optional. List of tools in the app. + */ + tools?: Schema$Tool[]; + /** + * Optional. List of toolsets in the app. + */ + toolsets?: Schema$Toolset[]; + } + /** + * Defines the structure and metadata for a variable. + */ + export interface Schema$AppVariableDeclaration { + /** + * Required. The description of the variable. + */ + description?: string | null; + /** + * Required. The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores. + */ + name?: string | null; + /** + * Required. The schema of the variable. + */ + schema?: Schema$Schema; + } + /** + * In Customer Engagement Suite (CES), an app version is a snapshot of the app at a specific point in time. It is immutable and cannot be modified once created. + */ + export interface Schema$AppVersion { + /** + * Output only. Timestamp when the app version was created. + */ + createTime?: string | null; + /** + * Output only. Email of the user who created the app version. + */ + creator?: string | null; + /** + * Optional. The description of the app version. + */ + description?: string | null; + /** + * Optional. The display name of the app version. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Identifier. The unique identifier of the app version. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + name?: string | null; + /** + * Output only. The snapshot of the app when the version is created. + */ + snapshot?: Schema$AppSnapshot; + } + /** + * Configuration for how the input and output audio should be processed and delivered. + */ + export interface Schema$AudioProcessingConfig { + /** + * Optional. Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. + */ + ambientSoundConfig?: Schema$AmbientSoundConfig; + /** + * Optional. Configures the agent behavior for the user barge-in activities. + */ + bargeInConfig?: Schema$BargeInConfig; + /** + * Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement. + */ + inactivityTimeout?: string | null; + /** + * Optional. Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains "en-us" and "en", and the specified language code is "en-gb", then "en" configuration will be used. Note: Language code is case-insensitive. + */ + synthesizeSpeechConfigs?: { + [key: string]: Schema$SynthesizeSpeechConfig; + } | null; + } + /** + * Configuration for how the audio interactions should be recorded. + */ + export interface Schema$AudioRecordingConfig { + /** + * Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + gcsBucket?: string | null; + /** + * Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. + */ + gcsPathPrefix?: string | null; + } + /** + * Configuration for how the user barge-in activities should be handled. + */ + export interface Schema$BargeInConfig { + /** + * Optional. If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually. + */ + bargeInAwareness?: boolean | null; + /** + * Optional. Disables user barge-in while the agent is speaking. If true, user input during agent response playback will be ignored. Deprecated: `disable_barge_in` is deprecated in favor of `disable_barge_in_control` in ChannelProfile. + */ + disableBargeIn?: boolean | null; + } + /** + * Request message for AgentService.BatchDeleteConversations. + */ + export interface Schema$BatchDeleteConversationsRequest { + /** + * Required. The resource names of the conversations to delete. + */ + conversations?: string[] | null; + } + /** + * Configurations for authentication with a bearer token. + */ + export interface Schema$BearerTokenConfig { + /** + * Required. The bearer token. Must be in the format `$context.variables.`. + */ + token?: string | null; + } + /** + * Settings to describe the BigQuery export behaviors for the app. + */ + export interface Schema$BigQueryExportSettings { + /** + * Optional. The BigQuery dataset to export the data to. + */ + dataset?: string | null; + /** + * Optional. Indicates whether the BigQuery export is enabled. + */ + enabled?: boolean | null; + /** + * Optional. The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + project?: string | null; + } + /** + * Represents a blob input or output in the conversation. + */ + export interface Schema$Blob { + /** + * Required. Raw bytes of the blob. + */ + data?: string | null; + /** + * Required. The IANA standard MIME type of the source data. + */ + mimeType?: string | null; + } + /** + * A callback defines the custom logic to be executed at various stages of agent interaction. + */ + export interface Schema$Callback { + /** + * Optional. Human-readable description of the callback. + */ + description?: string | null; + /** + * Optional. Whether the callback is disabled. Disabled callbacks are ignored by the agent. + */ + disabled?: boolean | null; + /** + * Required. The python code to execute for the callback. + */ + pythonCode?: string | null; + } + /** + * The request message for Operations.CancelOperation. + */ + export interface Schema$CancelOperationRequest {} + /** + * Changelogs represent a change made to the app or to an resource within the app. + */ + export interface Schema$Changelog { + /** + * Output only. The action that was performed on the resource. + */ + action?: string | null; + /** + * Output only. Email address of the change author. + */ + author?: string | null; + /** + * Output only. The time when the change was made. + */ + createTime?: string | null; + /** + * Output only. The dependent resources that were changed. + */ + dependentResources?: Array<{[key: string]: any}> | null; + /** + * Output only. Description of the change. which typically captures the changed fields in the resource. + */ + description?: string | null; + /** + * Output only. Display name of the change. It typically should be the display name of the resource that was changed. + */ + displayName?: string | null; + /** + * Identifier. The unique identifier of the changelog. Format: `projects/{project\}/locations/{location\}/apps/{app\}/changelogs/{changelog\}` + */ + name?: string | null; + /** + * Output only. The new resource after the change. + */ + newResource?: {[key: string]: any} | null; + /** + * Output only. The original resource before the change. + */ + originalResource?: {[key: string]: any} | null; + /** + * Output only. The resource that was changed. + */ + resource?: string | null; + /** + * Output only. The type of the resource that was changed. + */ + resourceType?: string | null; + /** + * Output only. The monotonically increasing sequence number of the changelog. + */ + sequenceNumber?: string | null; + } + /** + * A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. + */ + export interface Schema$ChannelProfile { + /** + * Optional. The type of the channel profile. + */ + channelType?: string | null; + /** + * Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt. + */ + disableBargeInControl?: boolean | null; + /** + * Optional. Whether to disable DTMF (dual-tone multi-frequency). + */ + disableDtmf?: boolean | null; + /** + * Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high". + */ + noiseSuppressionLevel?: string | null; + /** + * Optional. The persona property of the channel profile. + */ + personaProperty?: Schema$ChannelProfilePersonaProperty; + /** + * Optional. The unique identifier of the channel profile. + */ + profileId?: string | null; + /** + * Optional. The configuration for the web widget. + */ + webWidgetConfig?: Schema$ChannelProfileWebWidgetConfig; + } + /** + * Represents the persona property of a channel. + */ + export interface Schema$ChannelProfilePersonaProperty { + /** + * Optional. The persona of the channel. + */ + persona?: string | null; + } + /** + * Message for configuration for the web widget. + */ + export interface Schema$ChannelProfileWebWidgetConfig { + /** + * Optional. The modality of the web widget. + */ + modality?: string | null; + /** + * Optional. The security settings of the web widget. + */ + securitySettings?: Schema$ChannelProfileWebWidgetConfigSecuritySettings; + /** + * Optional. The theme of the web widget. + */ + theme?: string | null; + /** + * Optional. The title of the web widget. + */ + webWidgetTitle?: string | null; + } + /** + * Security settings for the web widget. + */ + export interface Schema$ChannelProfileWebWidgetConfigSecuritySettings { + /** + * Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: "https://example.com" + */ + allowedOrigins?: string[] | null; + /** + * Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins. + */ + enableOriginCheck?: boolean | null; + /** + * Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent. + */ + enablePublicAccess?: boolean | null; + /** + * Optional. Indicates whether reCAPTCHA verification for the web widget is enabled. + */ + enableRecaptcha?: boolean | null; + } + /** + * A chunk of content within a message. + */ + export interface Schema$Chunk { + /** + * Optional. Agent transfer event. + */ + agentTransfer?: Schema$AgentTransfer; + /** + * A struct represents default variables at the start of the conversation, keyed by variable names. + */ + defaultVariables?: {[key: string]: any} | null; + /** + * Optional. Image data. + */ + image?: Schema$Image; + /** + * Optional. Custom payload data. + */ + payload?: {[key: string]: any} | null; + /** + * Optional. Text data. + */ + text?: string | null; + /** + * Optional. Tool execution request. + */ + toolCall?: Schema$ToolCall; + /** + * Optional. Tool execution response. + */ + toolResponse?: Schema$ToolResponse; + /** + * Optional. Transcript associated with the audio. + */ + transcript?: string | null; + /** + * A struct represents variables that were updated in the conversation, keyed by variable names. + */ + updatedVariables?: {[key: string]: any} | null; + } + /** + * Citations associated with the agent response. + */ + export interface Schema$Citations { + /** + * List of cited pieces of information. + */ + citedChunks?: Schema$CitationsCitedChunk[]; + } + /** + * Piece of cited information. + */ + export interface Schema$CitationsCitedChunk { + /** + * Text used for citaiton. + */ + text?: string | null; + /** + * Title of the cited document. + */ + title?: string | null; + /** + * URI used for citation. + */ + uri?: string | null; + } + /** + * Settings for custom client certificates. + */ + export interface Schema$ClientCertificateSettings { + /** + * Optional. The name of the SecretManager secret version resource storing the passphrase to decrypt the private key. Should be left unset if the private key is not encrypted. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` + */ + passphrase?: string | null; + /** + * Required. The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` + */ + privateKey?: string | null; + /** + * Required. The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines. + */ + tlsCertificate?: string | null; + } + /** + * Represents a client-side function that the agent can invoke. When the tool is chosen by the agent, control is handed off to the client. The client is responsible for executing the function and returning the result as a ToolResponse to continue the interaction with the agent. + */ + export interface Schema$ClientFunction { + /** + * Optional. The function description. + */ + description?: string | null; + /** + * Required. The function name. + */ + name?: string | null; + /** + * Optional. The schema of the function parameters. + */ + parameters?: Schema$Schema; + /** + * Optional. The schema of the function response. + */ + response?: Schema$Schema; + } + /** + * Settings to describe the Cloud Logging behaviors for the app. + */ + export interface Schema$CloudLoggingSettings { + /** + * Optional. Whether to enable Cloud Logging for the sessions. + */ + enableCloudLogging?: boolean | null; + } + /** + * A code block to be executed instead of a real tool call. + */ + export interface Schema$CodeBlock { + /** + * Required. Python code which will be invoked in tool fake mode. Expected Python function signature - To catch all tool calls: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -\> Optional[dict[str, Any]]: To catch a specific tool call: def fake_{tool_id\}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -\> Optional[dict[str, Any]]: If the function returns None, the real tool will be invoked instead. + */ + pythonCode?: string | null; + } + /** + * A ConnectorTool allows connections to different integrations. See: https://cloud.google.com/integration-connectors/docs/overview. + */ + export interface Schema$ConnectorTool { + /** + * Required. Action for the tool to use. + */ + action?: Schema$Action; + /** + * Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override for details. + */ + authConfig?: Schema$EndUserAuthConfig; + /** + * Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project\}/locations/{location\}/connections/{connection\}` + */ + connection?: string | null; + /** + * Optional. The description of the tool that can be used by the Agent to decide whether to call this ConnectorTool. + */ + description?: string | null; + /** + * Optional. The name of the tool that can be used by the Agent to decide whether to call this ConnectorTool. + */ + name?: string | null; + } + /** + * A toolset that generates tools from an Integration Connectors Connection. + */ + export interface Schema$ConnectorToolset { + /** + * Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the Toolset creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override + */ + authConfig?: Schema$EndUserAuthConfig; + /** + * Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project\}/locations/{location\}/connections/{connection\}` + */ + connection?: string | null; + /** + * Required. The list of connector actions/entity operations to generate tools for. + */ + connectorActions?: Schema$Action[]; + } + /** + * A conversation represents an interaction between an end user and the CES app. + */ + export interface Schema$Conversation { + /** + * Output only. The version of the app used for processing the conversation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + appVersion?: string | null; + /** + * DEPRECATED. Please use input_types instead. + */ + channelType?: string | null; + /** + * Output only. The deployment of the app used for processing the conversation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + deployment?: string | null; + /** + * Output only. Timestamp when the conversation was completed. + */ + endTime?: string | null; + /** + * Output only. The agent that initially handles the conversation. If not specified, the conversation is handled by the root agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + entryAgent?: string | null; + /** + * Output only. The input types of the conversation. + */ + inputTypes?: string[] | null; + /** + * Output only. The language code of the conversation. + */ + languageCode?: string | null; + /** + * Deprecated. Use turns instead. + */ + messages?: Schema$Message[]; + /** + * Identifier. The unique identifier of the conversation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/conversations/{conversation\}` + */ + name?: string | null; + /** + * Output only. Indicate the source of the conversation. + */ + source?: string | null; + /** + * Output only. Timestamp when the conversation was created. + */ + startTime?: string | null; + /** + * Output only. The number of turns in the conversation. + */ + turnCount?: number | null; + /** + * Required. The turns in the conversation. + */ + turns?: Schema$ConversationTurn[]; + } + /** + * Settings to describe the conversation logging behaviors for the app. + */ + export interface Schema$ConversationLoggingSettings { + /** + * Optional. Whether to disable conversation logging for the sessions. + */ + disableConversationLogging?: boolean | null; + } + /** + * All information about a single turn in the conversation. + */ + export interface Schema$ConversationTurn { + /** + * Optional. List of messages in the conversation turn, including user input, agent responses and intermediate events during the processing. + */ + messages?: Schema$Message[]; + /** + * Optional. The root span of the action processing. + */ + rootSpan?: Schema$Span; + } + /** + * A DataStore resource in Vertex AI Search. + */ + export interface Schema$DataStore { + /** + * Output only. The connector config for the data store connection. + */ + connectorConfig?: Schema$DataStoreConnectorConfig; + /** + * Output only. Timestamp when the data store was created. + */ + createTime?: string | null; + /** + * Output only. The display name of the data store. + */ + displayName?: string | null; + /** + * Output only. The document processing mode for the data store connection. Only set for PUBLIC_WEB and UNSTRUCTURED data stores. + */ + documentProcessingMode?: string | null; + /** + * Required. Full resource name of the DataStore. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{dataStore\}` + */ + name?: string | null; + /** + * Output only. The type of the data store. This field is readonly and populated by the server. + */ + type?: string | null; + } + /** + * The connector config for the data store connection. + */ + export interface Schema$DataStoreConnectorConfig { + /** + * Resource name of the collection the data store belongs to. + */ + collection?: string | null; + /** + * Display name of the collection the data store belongs to. + */ + collectionDisplayName?: string | null; + /** + * The name of the data source. Example: `salesforce`, `jira`, `confluence`, `bigquery`. + */ + dataSource?: string | null; + } + /** + * Data store related settings for the app. + */ + export interface Schema$DataStoreSettings { + /** + * Output only. The engines for the app. + */ + engines?: Schema$DataStoreSettingsEngine[]; + } + /** + * An engine to which the data stores are connected. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction. + */ + export interface Schema$DataStoreSettingsEngine { + /** + * Output only. The resource name of the engine. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}` + */ + name?: string | null; + /** + * Output only. The type of the engine. + */ + type?: string | null; + } + /** + * Tool to retrieve from Vertex AI Search datastore or engine for grounding. Accepts either a datastore or an engine, but not both. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction. + */ + export interface Schema$DataStoreTool { + /** + * Optional. Boost specification to boost certain documents. + */ + boostSpecs?: Schema$DataStoreToolBoostSpecs[]; + /** + * Optional. Search within a single specific DataStore. + */ + dataStoreSource?: Schema$DataStoreToolDataStoreSource; + /** + * Optional. The tool description. + */ + description?: string | null; + /** + * Optional. Search within an Engine (potentially across multiple DataStores). + */ + engineSource?: Schema$DataStoreToolEngineSource; + /** + * Optional. The filter parameter behavior. + */ + filterParameterBehavior?: string | null; + /** + * Optional. The modality configs for the data store. + */ + modalityConfigs?: Schema$DataStoreToolModalityConfig[]; + /** + * Required. The data store tool name. + */ + name?: string | null; + } + /** + * Boost specification to boost certain documents. + */ + export interface Schema$DataStoreToolBoostSpec { + /** + * Required. A list of boosting specifications. + */ + conditionBoostSpecs?: Schema$DataStoreToolBoostSpecConditionBoostSpec[]; + } + /** + * Boost specification for a condition. + */ + export interface Schema$DataStoreToolBoostSpecConditionBoostSpec { + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored. + */ + boost?: number | null; + /** + * Optional. Complex specification for custom ranking based on customer defined attribute value. + */ + boostControlSpec?: Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec; + /** + * Required. An expression which specifies a boost condition. The syntax is the same as filter expression syntax. Currently, the only supported condition is a list of BCP-47 lang codes. Example: To boost suggestions in languages en or fr: (lang_code: ANY("en", "fr")) + */ + condition?: string | null; + } + /** + * Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above. + */ + export interface Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec { + /** + * Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value). + */ + attributeType?: string | null; + /** + * Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here. + */ + controlPoints?: Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint[]; + /** + * Optional. The name of the field whose value will be used to determine the boost amount. + */ + fieldName?: string | null; + /** + * Optional. The interpolation type to be applied to connect the control points listed below. + */ + interpolationType?: string | null; + } + /** + * The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable). + */ + export interface Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint { + /** + * Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. + */ + attributeValue?: string | null; + /** + * Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above. + */ + boostAmount?: number | null; + } + /** + * Boost specifications to boost certain documents. For more information, please refer to https://cloud.google.com/generative-ai-app-builder/docs/boosting. + */ + export interface Schema$DataStoreToolBoostSpecs { + /** + * Required. The Data Store where the boosting configuration is applied. Full resource name of DataStore, such as projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{dataStore\}. + */ + dataStores?: string[] | null; + /** + * Required. A list of boosting specifications. + */ + spec?: Schema$DataStoreToolBoostSpec[]; + } + /** + * Configuration for searching within a specific DataStore. + */ + export interface Schema$DataStoreToolDataStoreSource { + /** + * Optional. The data store. + */ + dataStore?: Schema$DataStore; + /** + * Optional. Filter specification for the DataStore. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata + */ + filter?: string | null; + } + /** + * Configuration for searching within an Engine, potentially targeting specific DataStores. + */ + export interface Schema$DataStoreToolEngineSource { + /** + * Optional. Use to target specific DataStores within the Engine. If empty, the search applies to all DataStores associated with the Engine. + */ + dataStoreSources?: Schema$DataStoreToolDataStoreSource[]; + /** + * Required. Full resource name of the Engine. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}` + */ + engine?: string | null; + /** + * Optional. A filter applied to the search across the Engine. Not relevant and not used if 'data_store_sources' is provided. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata + */ + filter?: string | null; + } + /** + * Grounding configuration. + */ + export interface Schema$DataStoreToolGroundingConfig { + /** + * Optional. Whether grounding is disabled. + */ + disabled?: boolean | null; + /** + * Optional. The groundedness threshold of the answer based on the retrieved sources. The value has a configurable range of [1, 5]. The level is used to threshold the groundedness of the answer, meaning that all responses with a groundedness score below the threshold will fall back to returning relevant snippets only. For example, a level of 3 means that the groundedness score must be 3 or higher for the response to be returned. + */ + groundingLevel?: number | null; + } + /** + * If specified, will apply the given configuration for the specified modality. + */ + export interface Schema$DataStoreToolModalityConfig { + /** + * Optional. The grounding configuration. + */ + groundingConfig?: Schema$DataStoreToolGroundingConfig; + /** + * Required. The modality type. + */ + modalityType?: string | null; + /** + * Optional. The rewriter config. + */ + rewriterConfig?: Schema$DataStoreToolRewriterConfig; + /** + * Optional. The summarization config. + */ + summarizationConfig?: Schema$DataStoreToolSummarizationConfig; + } + /** + * Rewriter configuration. + */ + export interface Schema$DataStoreToolRewriterConfig { + /** + * Optional. Whether the rewriter is disabled. + */ + disabled?: boolean | null; + /** + * Required. Configurations for the LLM model. + */ + modelSettings?: Schema$ModelSettings; + /** + * Optional. The prompt definition. If not set, default prompt will be used. + */ + prompt?: string | null; + } + /** + * Summarization configuration. + */ + export interface Schema$DataStoreToolSummarizationConfig { + /** + * Optional. Whether summarization is disabled. + */ + disabled?: boolean | null; + /** + * Optional. Configurations for the LLM model. + */ + modelSettings?: Schema$ModelSettings; + /** + * Optional. The prompt definition. If not set, default prompt will be used. + */ + prompt?: string | null; + } + /** + * A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile. + */ + export interface Schema$Deployment { + /** + * Required. The resource name of the app version to deploy. Format: projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\} + */ + appVersion?: string | null; + /** + * Required. The channel profile used in the deployment. + */ + channelProfile?: Schema$ChannelProfile; + /** + * Output only. Timestamp when this deployment was created. + */ + createTime?: string | null; + /** + * Required. Display name of the deployment. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Identifier. The resource name of the deployment. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + */ + name?: string | null; + /** + * Output only. Timestamp when this deployment was last updated. + */ + updateTime?: string | null; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} + /** + * Indicates the session has terminated, due to either successful completion (e.g. user says "Good bye!" ) or an agent escalation. The agent will not process any further inputs after session is terminated and the client should half-close and disconnect after receiving all remaining responses from the agent. + */ + export interface Schema$EndSession { + /** + * Optional. Provides additional information about the end session signal, such as the reason for ending the session. + */ + metadata?: {[key: string]: any} | null; + } + /** + * End-user authentication configuration used for Connection calls. The field values must be the names of context variables in the format `$context.variables.`. + */ + export interface Schema$EndUserAuthConfig { + /** + * Oauth 2.0 Authorization Code authentication. + */ + oauth2AuthCodeConfig?: Schema$EndUserAuthConfigOauth2AuthCodeConfig; + /** + * JWT Profile Oauth 2.0 Authorization Grant authentication. + */ + oauth2JwtBearerConfig?: Schema$EndUserAuthConfigOauth2JwtBearerConfig; + } + /** + * Oauth 2.0 Authorization Code authentication configuration. + */ + export interface Schema$EndUserAuthConfigOauth2AuthCodeConfig { + /** + * Required. Oauth token parameter name to pass through. Must be in the format `$context.variables.`. + */ + oauthToken?: string | null; + } + /** + * JWT Profile Oauth 2.0 Authorization Grant authentication configuration. + */ + export interface Schema$EndUserAuthConfigOauth2JwtBearerConfig { + /** + * Required. Client parameter name to pass through. Must be in the format `$context.variables.`. + */ + clientKey?: string | null; + /** + * Required. Issuer parameter name to pass through. Must be in the format `$context.variables.`. + */ + issuer?: string | null; + /** + * Required. Subject parameter name to pass through. Must be in the format `$context.variables.`. + */ + subject?: string | null; + } + /** + * Threshold settings for metrics in an Evaluation. + */ + export interface Schema$EvaluationMetricsThresholds { + /** + * Optional. The golden evaluation metrics thresholds. + */ + goldenEvaluationMetricsThresholds?: Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds; + /** + * Optional. The hallucination metric behavior for golden evaluations. + */ + goldenHallucinationMetricBehavior?: string | null; + /** + * Optional. Deprecated: Use `golden_hallucination_metric_behavior` instead. The hallucination metric behavior is currently used for golden evaluations. + */ + hallucinationMetricBehavior?: string | null; + /** + * Optional. The hallucination metric behavior for scenario evaluations. + */ + scenarioHallucinationMetricBehavior?: string | null; + } + /** + * Settings for golden evaluations. + */ + export interface Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds { + /** + * Optional. The expectation level metrics thresholds. + */ + expectationLevelMetricsThresholds?: Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds; + /** + * Optional. The turn level metrics thresholds. + */ + turnLevelMetricsThresholds?: Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds; + } + /** + * Expectation level metrics thresholds. + */ + export interface Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds { + /** + * Optional. The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0. + */ + toolInvocationParameterCorrectnessThreshold?: number | null; + } + /** + * Turn level metrics thresholds. + */ + export interface Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds { + /** + * Optional. The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0. + */ + overallToolInvocationCorrectnessThreshold?: number | null; + /** + * Optional. The semantic similarity channel to use for evaluation. + */ + semanticSimilarityChannel?: string | null; + /** + * Optional. The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is \>= 3. + */ + semanticSimilaritySuccessThreshold?: number | null; + } + /** + * Event input. + */ + export interface Schema$Event { + /** + * Required. The name of the event. + */ + event?: string | null; + } + /** + * An example represents a sample conversation between the user and the agent(s). + */ + export interface Schema$Example { + /** + * Output only. Timestamp when the example was created. + */ + createTime?: string | null; + /** + * Optional. Human-readable description of the example. + */ + description?: string | null; + /** + * Required. Display name of the example. + */ + displayName?: string | null; + /** + * Optional. The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + entryAgent?: string | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Output only. The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples. + */ + invalid?: boolean | null; + /** + * Optional. The collection of messages that make up the conversation. + */ + messages?: Schema$Message[]; + /** + * Identifier. The unique identifier of the example. Format: `projects/{project\}/locations/{location\}/apps/{app\}/examples/{example\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the example was last updated. + */ + updateTime?: string | null; + } + /** + * Request message for ToolService.ExecuteTool. + */ + export interface Schema$ExecuteToolRequest { + /** + * Optional. The input parameters and values for the tool in JSON object format. + */ + args?: {[key: string]: any} | null; + /** + * Optional. The name of the tool to execute. Format: projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\} + */ + tool?: string | null; + /** + * Optional. The toolset tool to execute. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Response message for ToolService.ExecuteTool. + */ + export interface Schema$ExecuteToolResponse { + /** + * Required. The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result. + */ + response?: {[key: string]: any} | null; + /** + * The name of the tool that got executed. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * The toolset tool that got executed. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Request message for AgentService.ExportApp. + */ + export interface Schema$ExportAppRequest { + /** + * Required. The format to export the app in. + */ + exportFormat?: string | null; + /** + * Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which to export the app. The format of this URI must be `gs:///`. The exported app archive will be written directly to the specified GCS object. + */ + gcsUri?: string | null; + } + /** + * Response message for AgentService.ExportApp. + */ + export interface Schema$ExportAppResponse { + /** + * App folder compressed as a zip file. + */ + appContent?: string | null; + /** + * The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which the app was exported. + */ + appUri?: string | null; + } + /** + * Expression condition based on session state. + */ + export interface Schema$ExpressionCondition { + /** + * Required. The string representation of cloud.api.Expression condition. + */ + expression?: string | null; + } + /** + * The file search tool allows the agent to search across the files uploaded by the app/agent developer. It has presets to give relatively good quality search over the uploaded files and summarization of the retrieved results. + */ + export interface Schema$FileSearchTool { + /** + * Optional. The type of the corpus. Default is FULLY_MANAGED. + */ + corpusType?: string | null; + /** + * Optional. The tool description. + */ + description?: string | null; + /** + * Optional. The corpus where files are stored. Format: projects/{project\}/locations/{location\}/ragCorpora/{rag_corpus\} + */ + fileCorpus?: string | null; + /** + * Required. The tool name. + */ + name?: string | null; + } + /** + * Request message for WidgetService.GenerateChatToken. + */ + export interface Schema$GenerateChatTokenRequest { + /** + * Required. The deployment of the app to use for the session. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + */ + deployment?: string | null; + /** + * Optional. The reCAPTCHA token generated by the client-side chat widget. + */ + recaptchaToken?: string | null; + } + /** + * Response message for WidgetService.GenerateChatToken. + */ + export interface Schema$GenerateChatTokenResponse { + /** + * The session scoped token for chat widget to authenticate with Session APIs. + */ + chatToken?: string | null; + /** + * The time at which the chat token expires. + */ + expireTime?: string | null; + } + /** + * Search suggestions from Google Search Tool. + */ + export interface Schema$GoogleSearchSuggestions { + /** + * Compliant HTML and CSS styling for search suggestions. The provided HTML and CSS automatically adapts to your device settings, displaying in either light or dark mode indicated by `@media(prefers-color-scheme)`. + */ + htmls?: string[] | null; + /** + * List of queries used to perform the google search along with the search result URIs forming the search suggestions. + */ + webSearchQueries?: Schema$WebSearchQuery[]; + } + /** + * Represents a tool to perform Google web searches for grounding. See https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search. + */ + export interface Schema$GoogleSearchTool { + /** + * Optional. Content will be fetched directly from these URLs for context and grounding. Example: "https://example.com/path.html". A maximum of 20 URLs are allowed. + */ + contextUrls?: string[] | null; + /** + * Optional. Description of the tool's purpose. + */ + description?: string | null; + /** + * Optional. List of domains to be excluded from the search results. Example: "example.com". A maximum of 2000 domains can be excluded. + */ + excludeDomains?: string[] | null; + /** + * Required. The name of the tool. + */ + name?: string | null; + /** + * Optional. Specifies domains to restrict search results to. Example: "example.com", "another.site". A maximum of 20 domains can be specified. + */ + preferredDomains?: string[] | null; + } + /** + * Guardrail contains a list of checks and balances to keep the agents safe and secure. + */ + export interface Schema$Guardrail { + /** + * Optional. Action to take when the guardrail is triggered. + */ + action?: Schema$TriggerAction; + /** + * Optional. Guardrail that potentially blocks the conversation based on the result of the callback execution. + */ + codeCallback?: Schema$GuardrailCodeCallback; + /** + * Optional. Guardrail that bans certain content from being used in the conversation. + */ + contentFilter?: Schema$GuardrailContentFilter; + /** + * Output only. Timestamp when the guardrail was created. + */ + createTime?: string | null; + /** + * Optional. Description of the guardrail. + */ + description?: string | null; + /** + * Required. Display name of the guardrail. + */ + displayName?: string | null; + /** + * Optional. Whether the guardrail is enabled. + */ + enabled?: boolean | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification. + */ + llmPolicy?: Schema$GuardrailLlmPolicy; + /** + * Optional. Guardrail that blocks the conversation if the prompt is considered unsafe based on the LLM classification. + */ + llmPromptSecurity?: Schema$GuardrailLlmPromptSecurity; + /** + * Optional. Guardrail that blocks the conversation if the LLM response is considered unsafe based on the model safety settings. + */ + modelSafety?: Schema$GuardrailModelSafety; + /** + * Identifier. The unique identifier of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the guardrail was last updated. + */ + updateTime?: string | null; + } + /** + * Guardrail that blocks the conversation based on the code callbacks provided. + */ + export interface Schema$GuardrailCodeCallback { + /** + * Optional. The callback to execute after the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + afterAgentCallback?: Schema$Callback; + /** + * Optional. The callback to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + afterModelCallback?: Schema$Callback; + /** + * Optional. The callback to execute before the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + beforeAgentCallback?: Schema$Callback; + /** + * Optional. The callback to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + beforeModelCallback?: Schema$Callback; + } + /** + * Guardrail that bans certain content from being used in the conversation. + */ + export interface Schema$GuardrailContentFilter { + /** + * Optional. List of banned phrases. Applies to both user inputs and agent responses. + */ + bannedContents?: string[] | null; + /** + * Optional. List of banned phrases. Applies only to agent responses. + */ + bannedContentsInAgentResponse?: string[] | null; + /** + * Optional. List of banned phrases. Applies only to user inputs. + */ + bannedContentsInUserInput?: string[] | null; + /** + * Optional. If true, diacritics are ignored during matching. + */ + disregardDiacritics?: boolean | null; + /** + * Required. Match type for the content filter. + */ + matchType?: string | null; + } + /** + * Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification. + */ + export interface Schema$GuardrailLlmPolicy { + /** + * Optional. By default, the LLM policy check is bypassed for short utterances. Enabling this setting applies the policy check to all utterances, including those that would normally be skipped. + */ + allowShortUtterance?: boolean | null; + /** + * Optional. If an error occurs during the policy check, fail open and do not trigger the guardrail. + */ + failOpen?: boolean | null; + /** + * Optional. When checking this policy, consider the last 'n' messages in the conversation. When not set a default value of 10 will be used. + */ + maxConversationMessages?: number | null; + /** + * Optional. Model settings. + */ + modelSettings?: Schema$ModelSettings; + /** + * Required. Defines when to apply the policy check during the conversation. If set to `POLICY_SCOPE_UNSPECIFIED`, the policy will be applied to the user input. When applying the policy to the agent response, additional latency will be introduced before the agent can respond. + */ + policyScope?: string | null; + /** + * Required. Policy prompt. + */ + prompt?: string | null; + } + /** + * Guardrail that blocks the conversation if the input is considered unsafe based on the LLM classification. + */ + export interface Schema$GuardrailLlmPromptSecurity { + /** + * Optional. Use a user-defined LlmPolicy to configure the security guardrail. + */ + customPolicy?: Schema$GuardrailLlmPolicy; + /** + * Optional. Use the system's predefined default security settings. To select this mode, include an empty 'default_settings' message in the request. The 'default_prompt_template' field within will be populated by the server in the response. + */ + defaultSettings?: Schema$GuardrailLlmPromptSecurityDefaultSecuritySettings; + /** + * Optional. Determines the behavior when the guardrail encounters an LLM error. - If true: the guardrail is bypassed. - If false (default): the guardrail triggers/blocks. Note: If a custom policy is provided, this field is ignored in favor of the policy's 'fail_open' configuration. + */ + failOpen?: boolean | null; + } + /** + * Configuration for default system security settings. + */ + export interface Schema$GuardrailLlmPromptSecurityDefaultSecuritySettings { + /** + * Output only. The default prompt template used by the system. This field is for display purposes to show the user what prompt the system uses by default. It is OUTPUT_ONLY. + */ + defaultPromptTemplate?: string | null; + } + /** + * Model safety settings overrides. When this is set, it will override the default settings and trigger the guardrail if the response is considered unsafe. + */ + export interface Schema$GuardrailModelSafety { + /** + * Required. List of safety settings. + */ + safetySettings?: Schema$GuardrailModelSafetySafetySetting[]; + } + /** + * Safety setting. + */ + export interface Schema$GuardrailModelSafetySafetySetting { + /** + * Required. The harm category. + */ + category?: string | null; + /** + * Required. The harm block threshold. + */ + threshold?: string | null; + } + /** + * Represents an image input or output in the conversation. + */ + export interface Schema$Image { + /** + * Required. Raw bytes of the image. + */ + data?: string | null; + /** + * Required. The IANA standard MIME type of the source data. Supported image types includes: * image/png * image/jpeg * image/webp + */ + mimeType?: string | null; + } + /** + * Request message for AgentService.ImportApp. + */ + export interface Schema$ImportAppRequest { + /** + * Raw bytes representing the compressed zip file with the app folder structure. + */ + appContent?: string | null; + /** + * Optional. The ID to use for the imported app. * If not specified, a unique ID will be automatically assigned for the app. * Otherwise, the imported app will use this ID as the final component of its resource name. If an app with the same ID already exists at the specified location in the project, the content of the existing app will be replaced. + */ + appId?: string | null; + /** + * Optional. The display name of the app to import. * If the app is created on import, and the display name is specified, the imported app will use this display name. If a conflict is detected with an existing app, a timestamp will be appended to the display name to make it unique. * If the app is a reimport, this field should not be set. Providing a display name during reimport will result in an INVALID_ARGUMENT error. + */ + displayName?: string | null; + /** + * The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI from which to import app. The format of this URI must be `gs:///`. + */ + gcsUri?: string | null; + /** + * Optional. Options governing the import process for the app. + */ + importOptions?: Schema$ImportAppRequestImportOptions; + } + /** + * Configuration options for the app import process. These options control how the import behaves, particularly when conflicts arise with existing app data. + */ + export interface Schema$ImportAppRequestImportOptions { + /** + * Optional. The strategy to use when resolving conflicts during import. + */ + conflictResolutionStrategy?: string | null; + } + /** + * Response message for AgentService.ImportApp. + */ + export interface Schema$ImportAppResponse { + /** + * The resource name of the app that was imported. + */ + name?: string | null; + /** + * Warning messages generated during the import process. If errors occur for specific resources, they will not be included in the imported app and the error will be mentioned here. + */ + warnings?: string[] | null; + } + /** + * InputAudioConfig configures how the CES agent should interpret the incoming audio data. + */ + export interface Schema$InputAudioConfig { + /** + * Required. The encoding of the input audio data. + */ + audioEncoding?: string | null; + /** + * Optional. Whether to enable noise suppression on the input audio. Available values are "low", "moderate", "high", "very_high". + */ + noiseSuppressionLevel?: string | null; + /** + * Required. The sample rate (in Hertz) of the input audio data. + */ + sampleRateHertz?: number | null; + } + /** + * Language settings of the app. + */ + export interface Schema$LanguageSettings { + /** + * Optional. The default language code of the app. + */ + defaultLanguageCode?: string | null; + /** + * Optional. Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input. + */ + enableMultilingualSupport?: boolean | null; + /** + * Optional. The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are: - A tool's full resource name, which triggers a specific tool execution. - A predefined system action, such as "escalate" or "exit", which triggers an EndSession signal with corresponding metadata to terminate the conversation. + */ + fallbackAction?: string | null; + /** + * Optional. List of languages codes supported by the app, in addition to the `default_language_code`. + */ + supportedLanguageCodes?: string[] | null; + } + /** + * Response message for AgentService.ListAgents. + */ + export interface Schema$ListAgentsResponse { + /** + * The list of agents. + */ + agents?: Schema$Agent[]; + /** + * A token that can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListApps. + */ + export interface Schema$ListAppsResponse { + /** + * The list of apps. + */ + apps?: Schema$App[]; + /** + * A token that can be sent as ListAppsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Unordered list. Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for AgentService.ListAppVersions. + */ + export interface Schema$ListAppVersionsResponse { + /** + * The list of app versions. + */ + appVersions?: Schema$AppVersion[]; + /** + * A token that can be sent as ListAppVersionsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListChangelogs. + */ + export interface Schema$ListChangelogsResponse { + /** + * The list of changelogs. + */ + changelogs?: Schema$Changelog[]; + /** + * A token that can be sent as ListChangelogsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListConversations. + */ + export interface Schema$ListConversationsResponse { + /** + * The list of conversations. + */ + conversations?: Schema$Conversation[]; + /** + * A token that can be sent as ListConversationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListDeployments. + */ + export interface Schema$ListDeploymentsResponse { + /** + * The list of deployments. + */ + deployments?: Schema$Deployment[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListExamples. + */ + export interface Schema$ListExamplesResponse { + /** + * The list of examples. + */ + examples?: Schema$Example[]; + /** + * A token that can be sent as ListExamplesRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListGuardrails. + */ + export interface Schema$ListGuardrailsResponse { + /** + * The list of guardrails. + */ + guardrails?: Schema$Guardrail[]; + /** + * A token that can be sent as ListGuardrailsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + /** + * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. + */ + unreachable?: string[] | null; + } + /** + * Response message for AgentService.ListToolsets. + */ + export interface Schema$ListToolsetsResponse { + /** + * A token that can be sent as ListToolsetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of toolsets. + */ + toolsets?: Schema$Toolset[]; + } + /** + * Response message for AgentService.ListTools. + */ + export interface Schema$ListToolsResponse { + /** + * A token that can be sent as ListToolsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of tools. + */ + tools?: Schema$Tool[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * Settings to describe the logging behaviors for the app. + */ + export interface Schema$LoggingSettings { + /** + * Optional. Configuration for how audio interactions should be recorded. + */ + audioRecordingConfig?: Schema$AudioRecordingConfig; + /** + * Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + */ + bigqueryExportSettings?: Schema$BigQueryExportSettings; + /** + * Optional. Settings to describe the Cloud Logging behaviors for the app. + */ + cloudLoggingSettings?: Schema$CloudLoggingSettings; + /** + * Optional. Settings to describe the conversation logging behaviors for the app. + */ + conversationLoggingSettings?: Schema$ConversationLoggingSettings; + /** + * Optional. Configuration for how audio interactions should be recorded for the evaluation. By default, audio recording is not enabled for evaluation sessions. + */ + evaluationAudioRecordingConfig?: Schema$AudioRecordingConfig; + /** + * Optional. Settings to describe the conversation data collection behaviors for the LLM analysis pipeline for the app. + */ + metricAnalysisSettings?: Schema$MetricAnalysisSettings; + /** + * Optional. Configuration for how sensitive data should be redacted. + */ + redactionConfig?: Schema$RedactionConfig; + } + /** + * An MCP tool. See https://modelcontextprotocol.io/specification/2025-06-18/server/tools for more details. + */ + export interface Schema$McpTool { + /** + * Optional. Authentication information required to execute the tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. The description of the MCP tool. + */ + description?: string | null; + /** + * Optional. The schema of the input arguments of the MCP tool. + */ + inputSchema?: Schema$Schema; + /** + * Required. The name of the MCP tool. + */ + name?: string | null; + /** + * Optional. The schema of the output arguments of the MCP tool. + */ + outputSchema?: Schema$Schema; + /** + * Required. The server address of the MCP server, e.g., "https://example.com/mcp/". If the server is built with the MCP SDK, the url should be suffixed with "/mcp/". Only Streamable HTTP transport based servers are supported. This is the same as the server_address in the McpToolset. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details. + */ + serverAddress?: string | null; + /** + * Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates that the client should trust. + */ + tlsConfig?: Schema$TlsConfig; + } + /** + * A toolset that contains a list of tools that are offered by the MCP server. + */ + export interface Schema$McpToolset { + /** + * Optional. Authentication information required to access tools and execute a tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Required. The address of the MCP server, for example, "https://example.com/mcp/". If the server is built with the MCP SDK, the url should be suffixed with "/mcp/". Only Streamable HTTP transport based servers are supported. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details. + */ + serverAddress?: string | null; + /** + * Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates that the client should trust. + */ + tlsConfig?: Schema$TlsConfig; + } + /** + * A message within a conversation. + */ + export interface Schema$Message { + /** + * Optional. Content of the message as a series of chunks. + */ + chunks?: Schema$Chunk[]; + /** + * Optional. Timestamp when the message was sent or received. Should not be used if the message is part of an example. + */ + eventTime?: string | null; + /** + * Optional. The role within the conversation, e.g., user, agent. + */ + role?: string | null; + } + /** + * Settings to describe the conversation data collection behaviors for LLM analysis metrics pipeline. + */ + export interface Schema$MetricAnalysisSettings { + /** + * Optional. Whether to collect conversation data for llm analysis metrics. If true, conversation data will not be collected for llm analysis metrics; otherwise, conversation data will be collected. + */ + llmMetricsOptedOut?: boolean | null; + } + /** + * Model settings contains various configurations for the LLM model. + */ + export interface Schema$ModelSettings { + /** + * Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent. + */ + model?: string | null; + /** + * Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative. + */ + temperature?: number | null; + } + /** + * Configurations for authentication with OAuth. + */ + export interface Schema$OAuthConfig { + /** + * Required. The client ID from the OAuth provider. + */ + clientId?: string | null; + /** + * Required. The name of the SecretManager secret version resource storing the client secret. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + clientSecretVersion?: string | null; + /** + * Required. OAuth grant types. + */ + oauthGrantType?: string | null; + /** + * Optional. The OAuth scopes to grant. + */ + scopes?: string[] | null; + /** + * Required. The token endpoint in the OAuth provider to exchange for an access token. + */ + tokenEndpoint?: string | null; + } + /** + * Represents an Omnichannel resource. + */ + export interface Schema$Omnichannel { + /** + * Output only. Timestamp when the omnichannel resource was created. + */ + createTime?: string | null; + /** + * Optional. Human-readable description of the omnichannel resource. + */ + description?: string | null; + /** + * Required. Display name of the omnichannel resource. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. + */ + etag?: string | null; + /** + * Optional. The integration config for the omnichannel resource. + */ + integrationConfig?: Schema$OmnichannelIntegrationConfig; + /** + * Identifier. The unique identifier of the omnichannel resource. Format: `projects/{project\}/locations/{location\}/omnichannels/{omnichannel\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the omnichannel resource was last updated. + */ + updateTime?: string | null; + } + /** + * OmnichannelIntegrationConfig contains all App integration configs. + */ + export interface Schema$OmnichannelIntegrationConfig { + /** + * Optional. Various of configuration for handling App events. + */ + channelConfigs?: { + [key: string]: Schema$OmnichannelIntegrationConfigChannelConfig; + } | null; + /** + * Optional. The key of routing_configs is a key of `app_configs`, value is a `RoutingConfig`, which contains subscriber's key. + */ + routingConfigs?: { + [key: string]: Schema$OmnichannelIntegrationConfigRoutingConfig; + } | null; + /** + * Optional. Various of subscribers configs. + */ + subscriberConfigs?: { + [key: string]: Schema$OmnichannelIntegrationConfigSubscriberConfig; + } | null; + } + /** + * Configs for CES app. + */ + export interface Schema$OmnichannelIntegrationConfigCesAppConfig { + /** + * The unique identifier of the CES app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + app?: string | null; + } + /** + * ChannelConfig contains config for various of app integration. + */ + export interface Schema$OmnichannelIntegrationConfigChannelConfig { + /** + * WhatsApp config. + */ + whatsappConfig?: Schema$OmnichannelIntegrationConfigWhatsappConfig; + } + /** + * Routing config specify how/who to route app events to a subscriber. + */ + export interface Schema$OmnichannelIntegrationConfigRoutingConfig { + /** + * The key of the subscriber. + */ + subscriberKey?: string | null; + } + /** + * Configs of subscribers. + */ + export interface Schema$OmnichannelIntegrationConfigSubscriberConfig { + /** + * Ces app config. + */ + cesAppConfig?: Schema$OmnichannelIntegrationConfigCesAppConfig; + } + /** + * How Omnichannel should receive/reply events from WhatsApp. + */ + export interface Schema$OmnichannelIntegrationConfigWhatsappConfig { + /** + * The Meta Business Portfolio (MBP) ID. https://www.facebook.com/business/help/1710077379203657 + */ + metaBusinessPortfolioId?: string | null; + /** + * The phone number used for sending/receiving messages. + */ + phoneNumber?: string | null; + /** + * The Phone Number ID associated with the WhatsApp Business Account. + */ + phoneNumberId?: string | null; + /** + * The verify token configured in the Meta App Dashboard for webhook verification. + */ + webhookVerifyToken?: string | null; + /** + * The customer's WhatsApp Business Account (WABA) ID. + */ + whatsappBusinessAccountId?: string | null; + /** + * The access token for authenticating API calls to the WhatsApp Cloud API. https://developers.facebook.com/docs/whatsapp/business-management-api/get-started/#business-integration-system-user-access-tokens + */ + whatsappBusinessToken?: string | null; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$OmnichannelOperationMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + } + /** + * A remote API tool defined by an OpenAPI schema. + */ + export interface Schema$OpenApiTool { + /** + * Optional. Authentication information required by the API. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. The description of the tool. If not provided, the description of the tool will be derived from the OpenAPI schema, from `operation.description` or `operation.summary`. + */ + description?: string | null; + /** + * Optional. If true, the agent will ignore unknown fields in the API response. + */ + ignoreUnknownFields?: boolean | null; + /** + * Optional. The name of the tool. If not provided, the name of the tool will be derived from the OpenAPI schema, from `operation.operationId`. + */ + name?: string | null; + /** + * Required. The OpenAPI schema in JSON or YAML format. + */ + openApiSchema?: string | null; + /** + * Optional. Service Directory configuration. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates that the client will trust. + */ + tlsConfig?: Schema$TlsConfig; + /** + * Optional. The server URL of the Open API schema. This field is only set in tools in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema. + */ + url?: string | null; + } + /** + * A toolset that contains a list of tools that are defined by an OpenAPI schema. + */ + export interface Schema$OpenApiToolset { + /** + * Optional. Authentication information required by the API. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema. + */ + ignoreUnknownFields?: boolean | null; + /** + * Required. The OpenAPI schema of the toolset. + */ + openApiSchema?: string | null; + /** + * Optional. Service Directory configuration. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates + */ + tlsConfig?: Schema$TlsConfig; + /** + * Optional. The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema. + */ + url?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + } + /** + * OutputAudioConfig configures how the CES agent should synthesize outgoing audio responses. + */ + export interface Schema$OutputAudioConfig { + /** + * Required. The encoding of the output audio data. + */ + audioEncoding?: string | null; + /** + * Required. The sample rate (in Hertz) of the output audio data. + */ + sampleRateHertz?: number | null; + } + /** + * Python code block to evaluate the condition. + */ + export interface Schema$PythonCodeCondition { + /** + * Required. The python code to execute. + */ + pythonCode?: string | null; + } + /** + * A Python function tool. + */ + export interface Schema$PythonFunction { + /** + * Output only. The description of the Python function, parsed from the python code's docstring. + */ + description?: string | null; + /** + * Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. + */ + name?: string | null; + /** + * Optional. The Python code to execute for the tool. + */ + pythonCode?: string | null; + } + /** + * Configuration to instruct how sensitive data should be handled. + */ + export interface Schema$RedactionConfig { + /** + * Optional. [DLP](https://cloud.google.com/dlp/docs) deidentify template name to instruct on how to de-identify content. Format: `projects/{project\}/locations/{location\}/deidentifyTemplates/{deidentify_template\}` + */ + deidentifyTemplate?: string | null; + /** + * Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. + */ + enableRedaction?: boolean | null; + /** + * Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project\}/locations/{location\}/inspectTemplates/{inspect_template\}` + */ + inspectTemplate?: string | null; + } + /** + * Request message for AgentService.RestoreAppVersion + */ + export interface Schema$RestoreAppVersionRequest {} + /** + * Request message for ToolService.RetrieveToolSchema. + */ + export interface Schema$RetrieveToolSchemaRequest { + /** + * Optional. The name of the tool to retrieve the schema for. Format: projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\} + */ + tool?: string | null; + /** + * Optional. The toolset tool to retrieve the schema for. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Response message for ToolService.RetrieveToolSchema. + */ + export interface Schema$RetrieveToolSchemaResponse { + /** + * Required. The schema of the tool input parameters. + */ + inputSchema?: Schema$Schema; + /** + * Required. The schema of the tool output parameters. + */ + outputSchema?: Schema$Schema; + /** + * The name of the tool that the schema is for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * The toolset tool that the schema is for. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Request message for ToolService.RetrieveTools. + */ + export interface Schema$RetrieveToolsRequest { + /** + * Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned. + */ + toolIds?: string[] | null; + } + /** + * Response message for ToolService.RetrieveTools. + */ + export interface Schema$RetrieveToolsResponse { + /** + * Required. The list of tools that are included in the specified toolset. + */ + tools?: Schema$Tool[]; + } + /** + * Request message for SessionService.RunSession. + */ + export interface Schema$RunSessionRequest { + /** + * Required. The configuration for the session. + */ + config?: Schema$SessionConfig; + /** + * Required. Inputs for the session. + */ + inputs?: Schema$SessionInput[]; + } + /** + * Response message for SessionService.RunSession. + */ + export interface Schema$RunSessionResponse { + /** + * Outputs for the session. + */ + outputs?: Schema$SessionOutput[]; + } + /** + * Represents a select subset of an OpenAPI 3.0 schema object. + */ + export interface Schema$Schema { + /** + * Optional. Can either be a boolean or an object, controls the presence of additional properties. + */ + additionalProperties?: Schema$Schema; + /** + * Optional. The value should be validated against any (one or more) of the subschemas in the list. + */ + anyOf?: Schema$Schema[]; + /** + * Optional. Default value of the data. + */ + default?: any | null; + /** + * Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + */ + defs?: {[key: string]: Schema$Schema} | null; + /** + * Optional. The description of the data. + */ + description?: string | null; + /** + * Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]\} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]\} + */ + enum?: string[] | null; + /** + * Optional. Schema of the elements of Type.ARRAY. + */ + items?: Schema$Schema; + /** + * Optional. Maximum value for Type.INTEGER and Type.NUMBER. + */ + maximum?: number | null; + /** + * Optional. Maximum number of the elements for Type.ARRAY. + */ + maxItems?: string | null; + /** + * Optional. Minimum value for Type.INTEGER and Type.NUMBER. + */ + minimum?: number | null; + /** + * Optional. Minimum number of the elements for Type.ARRAY. + */ + minItems?: string | null; + /** + * Optional. Indicates if the value may be null. + */ + nullable?: boolean | null; + /** + * Optional. Schemas of initial elements of Type.ARRAY. + */ + prefixItems?: Schema$Schema[]; + /** + * Optional. Properties of Type.OBJECT. + */ + properties?: {[key: string]: Schema$Schema} | null; + /** + * Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + */ + ref?: string | null; + /** + * Optional. Required properties of Type.OBJECT. + */ + required?: string[] | null; + /** + * Optional. The title of the schema. + */ + title?: string | null; + /** + * Required. The type of the data. + */ + type?: string | null; + /** + * Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + */ + uniqueItems?: boolean | null; + } + /** + * Configurations for authentication using a custom service account. + */ + export interface Schema$ServiceAccountAuthConfig { + /** + * Optional. The OAuth scopes to grant. If not specified, the default scope `https://www.googleapis.com/auth/cloud-platform` is used. + */ + scopes?: string[] | null; + /** + * Required. The email address of the service account used for authentication. CES uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + serviceAccount?: string | null; + } + /** + * Configurations for authentication with [ID token](https://cloud.google.com/docs/authentication/token-types#id) generated from service agent. + */ + export interface Schema$ServiceAgentIdTokenAuthConfig {} + /** + * Configuration for tools using Service Directory. + */ + export interface Schema$ServiceDirectoryConfig { + /** + * Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project\}/locations/{location\}/namespaces/{namespace\}/services/{service\}`. Location of the service directory must be the same as the location of the app. + */ + service?: string | null; + } + /** + * The configuration for the session. + */ + export interface Schema$SessionConfig { + /** + * Optional. The deployment of the app to use for the session. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + deployment?: string | null; + /** + * Optional. The entry agent to handle the session. If not specified, the session will be handled by the root agent of the app. Format: `projects/{project\}/locations/{location\}/agents/{agent\}` + */ + entryAgent?: string | null; + /** + * Optional. The historical context of the session, including user inputs, agent responses, and other messages. Typically, CES agent would manage session automatically so client doesn't need to explicitly populate this field. However, client can optionally override the historical contexts to force the session start from certain state. + */ + historicalContexts?: Schema$Message[]; + /** + * Optional. Configuration for processing the input audio. + */ + inputAudioConfig?: Schema$InputAudioConfig; + /** + * Optional. Configuration for generating the output audio. + */ + outputAudioConfig?: Schema$OutputAudioConfig; + /** + * Optional. [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent. + */ + remoteDialogflowQueryParameters?: Schema$SessionConfigRemoteDialogflowQueryParameters; + /** + * Optional. The time zone of the user. If provided, the agent will use the time zone for date and time related variables. Otherwise, the agent will use the time zone specified in the App.time_zone_settings. The format is the IANA Time Zone Database time zone, e.g. "America/Los_Angeles". + */ + timeZone?: string | null; + } + /** + * [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent. + */ + export interface Schema$SessionConfigRemoteDialogflowQueryParameters { + /** + * Optional. The end user metadata to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + */ + endUserMetadata?: {[key: string]: any} | null; + /** + * Optional. The payload to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + */ + payload?: {[key: string]: any} | null; + /** + * Optional. The HTTP headers to be sent as webhook_headers in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + */ + webhookHeaders?: {[key: string]: string} | null; + } + /** + * Input for the session. + */ + export interface Schema$SessionInput { + /** + * Optional. Audio data from the end user. + */ + audio?: string | null; + /** + * Optional. Blob data from the end user. + */ + blob?: Schema$Blob; + /** + * Optional. DTMF digits from the end user. + */ + dtmf?: string | null; + /** + * Optional. Event input. + */ + event?: Schema$Event; + /** + * Optional. Image data from the end user. + */ + image?: Schema$Image; + /** + * Optional. Text data from the end user. + */ + text?: string | null; + /** + * Optional. Execution results for the tool calls from the client. + */ + toolResponses?: Schema$ToolResponses; + /** + * Optional. Contextual variables for the session, keyed by name. Only variables declared in the app will be used by the CES agent. Unrecognized variables will still be sent to the Dialogflow agent as additional session parameters. + */ + variables?: {[key: string]: any} | null; + /** + * Optional. A flag to indicate if the current message is a fragment of a larger input in the bidi streaming session. When `true`, the agent will defer processing until a subsequent message with `will_continue` set to `false` is received. Note: This flag has no effect on audio and DTMF inputs, which are always processed in real-time. + */ + willContinue?: boolean | null; + } + /** + * Output for the session. + */ + export interface Schema$SessionOutput { + /** + * Output audio from the CES agent. + */ + audio?: string | null; + /** + * Citations that provide the source information for the agent's generated text. + */ + citations?: Schema$Citations; + /** + * Optional. Diagnostic information contains execution details during the processing of the input. Only populated in the last SessionOutput (with `turn_completed=true`) for each turn. + */ + diagnosticInfo?: Schema$SessionOutputDiagnosticInfo; + /** + * Indicates the session has ended. + */ + endSession?: Schema$EndSession; + /** + * The suggestions returned from Google Search as a result of invoking the GoogleSearchTool. + */ + googleSearchSuggestions?: Schema$GoogleSearchSuggestions; + /** + * Custom payload with structured output from the CES agent. + */ + payload?: {[key: string]: any} | null; + /** + * Output text from the CES agent. + */ + text?: string | null; + /** + * Request for the client to execute the tools. + */ + toolCalls?: Schema$ToolCalls; + /** + * If true, the CES agent has detected the end of the current conversation turn and will provide no further output for this turn. + */ + turnCompleted?: boolean | null; + /** + * Indicates the sequential order of conversation turn to which this output belongs to, starting from 1. + */ + turnIndex?: number | null; + } + /** + * Contains execution details during the processing. + */ + export interface Schema$SessionOutputDiagnosticInfo { + /** + * List of the messages that happened during the processing. + */ + messages?: Schema$Message[]; + /** + * A trace of the entire request processing, represented as a root span. This span can contain nested child spans for specific operations. + */ + rootSpan?: Schema$Span; + } + /** + * A span is a unit of work or a single operation during the request processing. + */ + export interface Schema$Span { + /** + * Output only. Key-value attributes associated with the span. + */ + attributes?: {[key: string]: any} | null; + /** + * Output only. The child spans that are nested under this span. + */ + childSpans?: Schema$Span[]; + /** + * Output only. The duration of the span. + */ + duration?: string | null; + /** + * Output only. The end time of the span. + */ + endTime?: string | null; + /** + * Output only. The name of the span. + */ + name?: string | null; + /** + * Output only. The start time of the span. + */ + startTime?: string | null; + } + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + /** + * Configuration for how the agent response should be synthesized. + */ + export interface Schema$SynthesizeSpeechConfig { + /** + * Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error. + */ + speakingRate?: number | null; + /** + * Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices) from Cloud Text-to-Speech. + */ + voice?: string | null; + } + /** + * Pre-defined system tool. + */ + export interface Schema$SystemTool { + /** + * Output only. The description of the system tool. + */ + description?: string | null; + /** + * Required. The name of the system tool. + */ + name?: string | null; + } + /** + * TimeZone settings of the app. + */ + export interface Schema$TimeZoneSettings { + /** + * Optional. The time zone of the app from the [time zone database](https://www.iana.org/time-zones), e.g., America/Los_Angeles, Europe/Paris. + */ + timeZone?: string | null; + } + /** + * The TLS configuration. + */ + export interface Schema$TlsConfig { + /** + * Required. Specifies a list of allowed custom CA certificates for HTTPS verification. + */ + caCerts?: Schema$TlsConfigCaCert[]; + } + /** + * The CA certificate. + */ + export interface Schema$TlsConfigCaCert { + /** + * Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") + */ + cert?: string | null; + /** + * Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates. + */ + displayName?: string | null; + } + /** + * A tool represents an action that the CES agent can take to achieve certain goals. + */ + export interface Schema$Tool { + /** + * Optional. The client function. + */ + clientFunction?: Schema$ClientFunction; + /** + * Optional. The Integration Connector tool. + */ + connectorTool?: Schema$ConnectorTool; + /** + * Output only. Timestamp when the tool was created. + */ + createTime?: string | null; + /** + * Optional. The data store tool. + */ + dataStoreTool?: Schema$DataStoreTool; + /** + * Output only. The display name of the tool, derived based on the tool's type. For example, display name of a ClientFunction is derived from its `name` property. + */ + displayName?: string | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. The execution type of the tool. + */ + executionType?: string | null; + /** + * Optional. The file search tool. + */ + fileSearchTool?: Schema$FileSearchTool; + /** + * Output only. If the tool is generated by the LLM assistant, this field contains a descriptive summary of the generation. + */ + generatedSummary?: string | null; + /** + * Optional. The google search tool. + */ + googleSearchTool?: Schema$GoogleSearchTool; + /** + * Optional. The MCP tool. An MCP tool cannot be created or updated directly and is managed by the MCP toolset. + */ + mcpTool?: Schema$McpTool; + /** + * Identifier. The unique identifier of the tool. Format: - `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` for ## standalone tools. `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}/tools/{tool\}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected. + */ + name?: string | null; + /** + * Optional. The open API tool. + */ + openApiTool?: Schema$OpenApiTool; + /** + * Optional. The python function tool. + */ + pythonFunction?: Schema$PythonFunction; + /** + * Optional. The system tool. + */ + systemTool?: Schema$SystemTool; + /** + * Optional. Configuration for tool behavior in fake mode. + */ + toolFakeConfig?: Schema$ToolFakeConfig; + /** + * Output only. Timestamp when the tool was last updated. + */ + updateTime?: string | null; + /** + * Optional. The widget tool. + */ + widgetTool?: Schema$WidgetTool; + } + /** + * Request for the client or the agent to execute the specified tool. + */ + export interface Schema$ToolCall { + /** + * Optional. The input parameters and values for the tool in JSON object format. + */ + args?: {[key: string]: any} | null; + /** + * Output only. Display name of the tool. + */ + displayName?: string | null; + /** + * Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse. + */ + id?: string | null; + /** + * Optional. The name of the tool to execute. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * Optional. The toolset tool to execute. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Request for the client to execute the tools and return the execution results before continuing the session. + */ + export interface Schema$ToolCalls { + /** + * Optional. The list of tool calls to execute. + */ + toolCalls?: Schema$ToolCall[]; + } + /** + * Configuration for tool behavior in fake mode. + */ + export interface Schema$ToolFakeConfig { + /** + * Optional. Code block which will be executed instead of a real tool call. + */ + codeBlock?: Schema$CodeBlock; + /** + * Optional. Whether the tool is using fake mode. + */ + enableFakeMode?: boolean | null; + } + /** + * The execution result of a specific tool from the client or the agent. + */ + export interface Schema$ToolResponse { + /** + * Output only. Display name of the tool. + */ + displayName?: string | null; + /** + * Optional. The matching ID of the tool call the response is for. + */ + id?: string | null; + /** + * Required. The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result. + */ + response?: {[key: string]: any} | null; + /** + * Optional. The name of the tool to execute. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * Optional. The toolset tool that got executed. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Execution results for the requested tool calls from the client. + */ + export interface Schema$ToolResponses { + /** + * Optional. The list of tool execution results. + */ + toolResponses?: Schema$ToolResponse[]; + } + /** + * A toolset represents a group of dynamically managed tools that can be used by the agent. + */ + export interface Schema$Toolset { + /** + * Optional. A toolset that generates tools from an Integration Connectors Connection. + */ + connectorToolset?: Schema$ConnectorToolset; + /** + * Output only. Timestamp when the toolset was created. + */ + createTime?: string | null; + /** + * Optional. The description of the toolset. + */ + description?: string | null; + /** + * Optional. The display name of the toolset. Must be unique within the same app. + */ + displayName?: string | null; + /** + * ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. The execution type of the tools in the toolset. + */ + executionType?: string | null; + /** + * Optional. A toolset that contains a list of tools that are offered by the MCP server. + */ + mcpToolset?: Schema$McpToolset; + /** + * Identifier. The unique identifier of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + name?: string | null; + /** + * Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. + */ + openApiToolset?: Schema$OpenApiToolset; + /** + * Optional. Configuration for tools behavior in fake mode. + */ + toolFakeConfig?: Schema$ToolFakeConfig; + /** + * Output only. Timestamp when the toolset was last updated. + */ + updateTime?: string | null; + } + /** + * A tool that is created from a toolset. + */ + export interface Schema$ToolsetTool { + /** + * Optional. The tool ID to filter the tools to retrieve the schema for. + */ + toolId?: string | null; + /** + * Required. The resource name of the Toolset from which this tool is derived. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + toolset?: string | null; + } + /** + * Rule for transferring to a specific agent. + */ + export interface Schema$TransferRule { + /** + * Required. The resource name of the child agent the rule applies to. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + childAgent?: string | null; + /** + * Optional. A rule that immediately transfers to the target agent when the condition is met. + */ + deterministicTransfer?: Schema$TransferRuleDeterministicTransfer; + /** + * Required. The direction of the transfer. + */ + direction?: string | null; + /** + * Optional. Rule that prevents the planner from transferring to the target agent. + */ + disablePlannerTransfer?: Schema$TransferRuleDisablePlannerTransfer; + } + /** + * Deterministic transfer rule. When the condition evaluates to true, the transfer occurs. + */ + export interface Schema$TransferRuleDeterministicTransfer { + /** + * Optional. A rule that evaluates a session state condition. If the condition evaluates to true, the transfer occurs. + */ + expressionCondition?: Schema$ExpressionCondition; + /** + * Optional. A rule that uses Python code block to evaluate the conditions. If the condition evaluates to true, the transfer occurs. + */ + pythonCodeCondition?: Schema$PythonCodeCondition; + } + /** + * A rule that prevents the planner from transferring to the target agent. + */ + export interface Schema$TransferRuleDisablePlannerTransfer { + /** + * Required. If the condition evaluates to true, planner will not be allowed to transfer to the target agent. + */ + expressionCondition?: Schema$ExpressionCondition; + } + /** + * Action that is taken when a certain precondition is met. + */ + export interface Schema$TriggerAction { + /** + * Optional. Respond with a generative answer. + */ + generativeAnswer?: Schema$TriggerActionGenerativeAnswer; + /** + * Optional. Immediately respond with a preconfigured response. + */ + respondImmediately?: Schema$TriggerActionRespondImmediately; + /** + * Optional. Transfer the conversation to a different agent. + */ + transferAgent?: Schema$TriggerActionTransferAgent; + } + /** + * The agent will immediately respond with a generative answer. + */ + export interface Schema$TriggerActionGenerativeAnswer { + /** + * Required. The prompt to use for the generative answer. + */ + prompt?: string | null; + } + /** + * The agent will immediately respond with a preconfigured response. + */ + export interface Schema$TriggerActionRespondImmediately { + /** + * Required. The canned responses for the agent to choose from. The response is chosen randomly. + */ + responses?: Schema$TriggerActionResponse[]; + } + /** + * Represents a response from the agent. + */ + export interface Schema$TriggerActionResponse { + /** + * Optional. Whether the response is disabled. Disabled responses are not used by the agent. + */ + disabled?: boolean | null; + /** + * Required. Text for the agent to respond with. + */ + text?: string | null; + } + /** + * The agent will transfer the conversation to a different agent. + */ + export interface Schema$TriggerActionTransferAgent { + /** + * Required. The name of the agent to transfer the conversation to. The agent must be in the same app as the current agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + agent?: string | null; + } + /** + * Represents a single web search query and its associated search uri. + */ + export interface Schema$WebSearchQuery { + /** + * The search query text. + */ + query?: string | null; + /** + * The URI to the Google Search results page for the query. + */ + uri?: string | null; + } + /** + * Represents a widget tool that the agent can invoke. When the tool is chosen by the agent, agent will return the widget to the client. The client is responsible for processing the widget and generating the next user query to continue the interaction with the agent. + */ + export interface Schema$WidgetTool { + /** + * Optional. The description of the widget tool. + */ + description?: string | null; + /** + * Required. The display name of the widget tool. + */ + name?: string | null; + /** + * Optional. The input parameters of the widget tool. + */ + parameters?: Schema$Schema; + /** + * Optional. The type of the widget tool. If not specified, the default type will be CUSTOMIZED. + */ + widgetType?: string | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + apps: Resource$Projects$Locations$Apps; + operations: Resource$Projects$Locations$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.apps = new Resource$Projects$Locations$Apps(this.context); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + } + + /** + * Gets information about a location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.get({ + * // Resource name for the location. + * name: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "displayName": "my_displayName", + * // "labels": {}, + * // "locationId": "my_locationId", + * // "metadata": {}, + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.list({ + * // Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. + * extraLocationTypes: 'placeholder-value', + * // A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + * filter: 'placeholder-value', + * // The resource that owns the locations collection, if applicable. + * name: 'projects/my-project', + * // The maximum number of results to return. If not set, the service selects a default. + * pageSize: 'placeholder-value', + * // A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "locations": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/locations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Get extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List extends StandardParameters { + /** + * Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. + */ + extraLocationTypes?: string[]; + /** + * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Apps { + context: APIRequestContext; + agents: Resource$Projects$Locations$Apps$Agents; + changelogs: Resource$Projects$Locations$Apps$Changelogs; + conversations: Resource$Projects$Locations$Apps$Conversations; + deployments: Resource$Projects$Locations$Apps$Deployments; + examples: Resource$Projects$Locations$Apps$Examples; + guardrails: Resource$Projects$Locations$Apps$Guardrails; + sessions: Resource$Projects$Locations$Apps$Sessions; + tools: Resource$Projects$Locations$Apps$Tools; + toolsets: Resource$Projects$Locations$Apps$Toolsets; + versions: Resource$Projects$Locations$Apps$Versions; + constructor(context: APIRequestContext) { + this.context = context; + this.agents = new Resource$Projects$Locations$Apps$Agents(this.context); + this.changelogs = new Resource$Projects$Locations$Apps$Changelogs( + this.context + ); + this.conversations = new Resource$Projects$Locations$Apps$Conversations( + this.context + ); + this.deployments = new Resource$Projects$Locations$Apps$Deployments( + this.context + ); + this.examples = new Resource$Projects$Locations$Apps$Examples( + this.context + ); + this.guardrails = new Resource$Projects$Locations$Apps$Guardrails( + this.context + ); + this.sessions = new Resource$Projects$Locations$Apps$Sessions( + this.context + ); + this.tools = new Resource$Projects$Locations$Apps$Tools(this.context); + this.toolsets = new Resource$Projects$Locations$Apps$Toolsets( + this.context + ); + this.versions = new Resource$Projects$Locations$Apps$Versions( + this.context + ); + } + + /** + * Creates a new app in the given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.create({ + * // Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app. + * appId: 'placeholder-value', + * // Required. The resource name of the location to create an app in. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/apps').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.delete({ + * // Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the app to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Executes the given tool with the given arguments. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.executeTool({ + * // Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "args": {}, + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "response": {}, + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + options: StreamMethodOptions + ): Promise>; + executeTool( + params?: Params$Resource$Projects$Locations$Apps$Executetool, + options?: MethodOptions + ): Promise>; + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + callback: BodyResponseCallback + ): void; + executeTool( + callback: BodyResponseCallback + ): void; + executeTool( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Executetool + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Executetool; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Executetool; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}:executeTool').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Exports the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.exportApp({ + * // Required. The resource name of the app to export. + * name: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "exportFormat": "my_exportFormat", + * // "gcsUri": "my_gcsUri" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + options: StreamMethodOptions + ): Promise>; + exportApp( + params?: Params$Resource$Projects$Locations$Apps$Exportapp, + options?: MethodOptions + ): Promise>; + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + callback: BodyResponseCallback + ): void; + exportApp(callback: BodyResponseCallback): void; + exportApp( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Exportapp + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Exportapp; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Exportapp; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:exportApp').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.get({ + * // Required. The resource name of the app to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Imports the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.importApp({ + * // Required. The parent resource name with the location of the app to import. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "appContent": "my_appContent", + * // "appId": "my_appId", + * // "displayName": "my_displayName", + * // "gcsUri": "my_gcsUri", + * // "importOptions": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + options: StreamMethodOptions + ): Promise>; + importApp( + params?: Params$Resource$Projects$Locations$Apps$Importapp, + options?: MethodOptions + ): Promise>; + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + callback: BodyResponseCallback + ): void; + importApp(callback: BodyResponseCallback): void; + importApp( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Importapp + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Importapp; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Importapp; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/apps:importApp').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists apps in the given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.list({ + * // Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListApps call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the location to list apps from. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "apps": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/apps').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.patch({ + * // Identifier. The unique identifier of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * name: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve the schema of the given tool. The schema is computed on the fly for the given instance of the tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.retrieveToolSchema({ + * // Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "inputSchema": {}, + * // "outputSchema": {}, + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options: StreamMethodOptions + ): Promise>; + retrieveToolSchema( + params?: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options?: MethodOptions + ): Promise>; + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Retrievetoolschema + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Retrievetoolschema; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Retrievetoolschema; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}:retrieveToolSchema').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Create extends StandardParameters { + /** + * Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app. + */ + appId?: string; + /** + * Required. The resource name of the location to create an app in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$App; + } + export interface Params$Resource$Projects$Locations$Apps$Delete extends StandardParameters { + /** + * Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the app to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Executetool extends StandardParameters { + /** + * Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExecuteToolRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Exportapp extends StandardParameters { + /** + * Required. The resource name of the app to export. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExportAppRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Get extends StandardParameters { + /** + * Required. The resource name of the app to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Importapp extends StandardParameters { + /** + * Required. The parent resource name with the location of the app to import. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ImportAppRequest; + } + export interface Params$Resource$Projects$Locations$Apps$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListApps call. + */ + pageToken?: string; + /** + * Required. The resource name of the location to list apps from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$App; + } + export interface Params$Resource$Projects$Locations$Apps$Retrievetoolschema extends StandardParameters { + /** + * Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RetrieveToolSchemaRequest; + } + + export class Resource$Projects$Locations$Apps$Agents { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new agent in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.agents.create({ + * // Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent. + * agentId: 'placeholder-value', + * // Required. The resource name of the app to create an agent in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Agents$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/agents').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.agents.delete({ + * // Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples. * If `force = false`, the deletion fails if other agents/examples reference it. * If `force = true`, delete the agent and remove it from all referencing apps/agents/examples. + * force: 'placeholder-value', + * // Required. The resource name of the agent to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/agents/my-agent', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.agents.get({ + * // Required. The resource name of the agent to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/agents/my-agent', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Agents$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists agents in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.agents.list({ + * // Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListAgents call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list agents from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "agents": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Agents$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/agents').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.agents.patch({ + * // Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/agents/my-agent', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Agents$Create extends StandardParameters { + /** + * Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent. + */ + agentId?: string; + /** + * Required. The resource name of the app to create an agent in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Agent; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$Delete extends StandardParameters { + /** + * Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples. * If `force = false`, the deletion fails if other agents/examples reference it. * If `force = true`, delete the agent and remove it from all referencing apps/agents/examples. + */ + force?: boolean; + /** + * Required. The resource name of the agent to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$Get extends StandardParameters { + /** + * Required. The resource name of the agent to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListAgents call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list agents from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Agent; + } + + export class Resource$Projects$Locations$Apps$Changelogs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets the specified changelog. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.changelogs.get({ + * // Required. The resource name of the changelog to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/changelogs/my-changelog', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": "my_action", + * // "author": "my_author", + * // "createTime": "my_createTime", + * // "dependentResources": [], + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "name": "my_name", + * // "newResource": {}, + * // "originalResource": {}, + * // "resource": "my_resource", + * // "resourceType": "my_resourceType", + * // "sequenceNumber": "my_sequenceNumber" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Changelogs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Changelogs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Changelogs$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the changelogs of the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.changelogs.list({ + * // Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details. The filter string can be used to filter by `action`, `resource_type`, `resource_name`, `author`, and `create_time`. The `:` comparator can be used for case-insensitive partial matching on string fields, while `=` performs an exact case-sensitive match. Examples: * `action:update` (case-insensitive partial match) * `action="Create"` (case-sensitive exact match) * `resource_type:agent` * `resource_name:my-agent` * `author:me@example.com` * `create_time \> "2025-01-01T00:00:00Z"` * `create_time <= "2025-01-01T00:00:00Z" AND resource_type:tool` + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListChangelogs call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list changelogs from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "changelogs": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Changelogs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Changelogs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Changelogs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/changelogs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Changelogs$Get extends StandardParameters { + /** + * Required. The resource name of the changelog to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Changelogs$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details. The filter string can be used to filter by `action`, `resource_type`, `resource_name`, `author`, and `create_time`. The `:` comparator can be used for case-insensitive partial matching on string fields, while `=` performs an exact case-sensitive match. Examples: * `action:update` (case-insensitive partial match) * `action="Create"` (case-sensitive exact match) * `resource_type:agent` * `resource_name:my-agent` * `author:me@example.com` * `create_time \> "2025-01-01T00:00:00Z"` * `create_time <= "2025-01-01T00:00:00Z" AND resource_type:tool` + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListChangelogs call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list changelogs from. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Apps$Conversations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Batch deletes the specified conversations. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.conversations.batchDelete({ + * // Required. The resource name of the app to delete conversations from. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "conversations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options: StreamMethodOptions + ): Promise>; + batchDelete( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options?: MethodOptions + ): Promise>; + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + callback: BodyResponseCallback + ): void; + batchDelete(callback: BodyResponseCallback): void; + batchDelete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/conversations:batchDelete').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified conversation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.conversations.delete({ + * // Required. The resource name of the conversation to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/conversations/my-conversation', + * // Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. + * source: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified conversation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.conversations.get({ + * // Required. The resource name of the conversation to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/conversations/my-conversation', + * // Optional. Indicate the source of the conversation. If not set, all source will be searched. + * source: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelType": "my_channelType", + * // "deployment": "my_deployment", + * // "endTime": "my_endTime", + * // "entryAgent": "my_entryAgent", + * // "inputTypes": [], + * // "languageCode": "my_languageCode", + * // "messages": [], + * // "name": "my_name", + * // "source": "my_source", + * // "startTime": "my_startTime", + * // "turnCount": 0, + * // "turns": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists conversations in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.conversations.list({ + * // Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListConversations call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list conversations from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. + * source: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "conversations": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Conversations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/conversations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete extends StandardParameters { + /** + * Required. The resource name of the app to delete conversations from. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BatchDeleteConversationsRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$Delete extends StandardParameters { + /** + * Required. The resource name of the conversation to delete. + */ + name?: string; + /** + * Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. + */ + source?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$Get extends StandardParameters { + /** + * Required. The resource name of the conversation to retrieve. + */ + name?: string; + /** + * Optional. Indicate the source of the conversation. If not set, all source will be searched. + */ + source?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListConversations call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list conversations from. + */ + parent?: string; + /** + * Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. + */ + source?: string; + } + + export class Resource$Projects$Locations$Apps$Deployments { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new deployment in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.deployments.create({ + * // Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment. + * deploymentId: 'placeholder-value', + * // Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/deployments').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.deployments.delete({ + * // Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The name of the deployment to delete. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.deployments.get({ + * // Required. The name of the deployment. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Deployments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists deployments in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.deployments.list({ + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "deployments": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Deployments$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Deployments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/deployments').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.deployments.patch({ + * // Identifier. The resource name of the deployment. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + * name: 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', + * // Optional. The list of fields to update. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Deployments$Create extends StandardParameters { + /** + * Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment. + */ + deploymentId?: string; + /** + * Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Delete extends StandardParameters { + /** + * Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The name of the deployment to delete. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Get extends StandardParameters { + /** + * Required. The name of the deployment. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$List extends StandardParameters { + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Patch extends StandardParameters { + /** + * Identifier. The resource name of the deployment. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + */ + name?: string; + /** + * Optional. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + + export class Resource$Projects$Locations$Apps$Examples { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new example in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.examples.create({ + * // Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example. + * exampleId: 'placeholder-value', + * // Required. The resource name of the app to create an example in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Examples$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/examples').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.examples.delete({ + * // Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the example to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/examples/my-example', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.examples.get({ + * // Required. The resource name of the example to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/examples/my-example', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Examples$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists examples in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.examples.list({ + * // Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListExamples call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list examples from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "examples": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Examples$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/examples').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.examples.patch({ + * // Identifier. The unique identifier of the example. Format: `projects/{project\}/locations/{location\}/apps/{app\}/examples/{example\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/examples/my-example', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Examples$Create extends StandardParameters { + /** + * Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example. + */ + exampleId?: string; + /** + * Required. The resource name of the app to create an example in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Example; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$Delete extends StandardParameters { + /** + * Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the example to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$Get extends StandardParameters { + /** + * Required. The resource name of the example to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListExamples call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list examples from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the example. Format: `projects/{project\}/locations/{location\}/apps/{app\}/examples/{example\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Example; + } + + export class Resource$Projects$Locations$Apps$Guardrails { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new guardrail in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.guardrails.create({ + * // Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail. + * guardrailId: 'placeholder-value', + * // Required. The resource name of the app to create a guardrail in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Guardrails$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/guardrails').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified guardrail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.guardrails.delete({ + * // Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any apps/agents still reference the guardrail. * If `force = true`, all existing references from apps/agents will be removed and the guardrail will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the guardrail to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/guardrails/my-guardrail', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Guardrails$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified guardrail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.guardrails.get({ + * // Required. The resource name of the guardrail to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/guardrails/my-guardrail', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Guardrails$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists guardrails in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.guardrails.list({ + * // Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListGuardrails call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list guardrails from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "guardrails": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Guardrails$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/guardrails').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified guardrail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.guardrails.patch({ + * // Identifier. The unique identifier of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/guardrails/my-guardrail', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Guardrails$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Create extends StandardParameters { + /** + * Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail. + */ + guardrailId?: string; + /** + * Required. The resource name of the app to create a guardrail in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Guardrail; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Delete extends StandardParameters { + /** + * Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any apps/agents still reference the guardrail. * If `force = true`, all existing references from apps/agents will be removed and the guardrail will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the guardrail to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Get extends StandardParameters { + /** + * Required. The resource name of the guardrail to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListGuardrails call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list guardrails from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Guardrail; + } + + export class Resource$Projects$Locations$Apps$Sessions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Generates a session scoped token for chat widget to authenticate with Session APIs. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.sessions.generateChatToken({ + * // Required. The session name to generate the chat token for. Format: projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\} + * name: 'projects/my-project/locations/my-location/apps/my-app/sessions/my-session', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "deployment": "my_deployment", + * // "recaptchaToken": "my_recaptchaToken" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "chatToken": "my_chatToken", + * // "expireTime": "my_expireTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: StreamMethodOptions + ): Promise>; + generateChatToken( + params?: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options?: MethodOptions + ): Promise>; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + callback: BodyResponseCallback + ): void; + generateChatToken( + callback: BodyResponseCallback + ): void; + generateChatToken( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:generateChatToken').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Initiates a single turn interaction with the CES agent within a session. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.sessions.runSession({ + * // Required. The unique identifier of the session. Format: `projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\}` + * session: + * 'projects/my-project/locations/my-location/apps/my-app/sessions/my-session', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "config": {}, + * // "inputs": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "outputs": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options: StreamMethodOptions + ): Promise>; + runSession( + params?: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options?: MethodOptions + ): Promise>; + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + callback: BodyResponseCallback + ): void; + runSession(callback: BodyResponseCallback): void; + runSession( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Sessions$Runsession + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Sessions$Runsession; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Sessions$Runsession; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+session}:runSession').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken extends StandardParameters { + /** + * Required. The session name to generate the chat token for. Format: projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateChatTokenRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Sessions$Runsession extends StandardParameters { + /** + * Required. The unique identifier of the session. Format: `projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\}` + */ + session?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RunSessionRequest; + } + + export class Resource$Projects$Locations$Apps$Tools { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new tool in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.tools.create({ + * // Required. The resource name of the app to create a tool in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool. + * toolId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Tools$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/tools').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.tools.delete({ + * // Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples. * If `force = false`, the deletion will fail if any agents still reference the tool. * If `force = true`, all existing references from agents will be removed and the tool will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the tool to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/tools/my-tool', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.tools.get({ + * // Required. The resource name of the tool to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/tools/my-tool', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Tools$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists tools in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.tools.list({ + * // Optional. Filter to be applied when listing the tools. Use "include_system_tools=true" to include system tools in the response. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListTools call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list tools from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "tools": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Tools$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/tools').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.tools.patch({ + * // Identifier. The unique identifier of the tool. Format: - `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` for ## standalone tools. `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}/tools/{tool\}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected. + * name: 'projects/my-project/locations/my-location/apps/my-app/tools/my-tool', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Tools$Create extends StandardParameters { + /** + * Required. The resource name of the app to create a tool in. + */ + parent?: string; + /** + * Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool. + */ + toolId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Tool; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$Delete extends StandardParameters { + /** + * Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples. * If `force = false`, the deletion will fail if any agents still reference the tool. * If `force = true`, all existing references from agents will be removed and the tool will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the tool to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$Get extends StandardParameters { + /** + * Required. The resource name of the tool to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the tools. Use "include_system_tools=true" to include system tools in the response. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListTools call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list tools from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the tool. Format: - `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` for ## standalone tools. `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}/tools/{tool\}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected. + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Tool; + } + + export class Resource$Projects$Locations$Apps$Toolsets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new toolset in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.toolsets.create({ + * // Required. The resource name of the app to create a toolset in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset. + * toolsetId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/toolsets').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.toolsets.delete({ + * // Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any agents still reference the toolset. * If `force = true`, all existing references from agents will be removed and the toolset will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the toolset to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.toolsets.get({ + * // Required. The resource name of the toolset to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists toolsets in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.toolsets.list({ + * // Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListToolsets call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list toolsets from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "toolsets": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/toolsets').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.toolsets.patch({ + * // Identifier. The unique identifier of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve the list of tools included in the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.toolsets.retrieveTools({ + * // Required. The name of the toolset to retrieve the tools for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + * toolset: + * 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "toolIds": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "tools": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options: StreamMethodOptions + ): Promise>; + retrieveTools( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options?: MethodOptions + ): Promise>; + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + callback: BodyResponseCallback + ): void; + retrieveTools( + callback: BodyResponseCallback + ): void; + retrieveTools( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+toolset}:retrieveTools').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['toolset'], + pathParams: ['toolset'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Create extends StandardParameters { + /** + * Required. The resource name of the app to create a toolset in. + */ + parent?: string; + /** + * Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset. + */ + toolsetId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Toolset; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Delete extends StandardParameters { + /** + * Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any agents still reference the toolset. * If `force = true`, all existing references from agents will be removed and the toolset will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the toolset to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Get extends StandardParameters { + /** + * Required. The resource name of the toolset to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListToolsets call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list toolsets from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Toolset; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools extends StandardParameters { + /** + * Required. The name of the toolset to retrieve the tools for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + toolset?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RetrieveToolsRequest; + } + + export class Resource$Projects$Locations$Apps$Versions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new app version in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.create({ + * // Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version. + * appVersionId: 'placeholder-value', + * // Required. The resource name of the app to create an app version in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Versions$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/versions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.delete({ + * // Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the app version to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.get({ + * // Required. The resource name of the app version to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Versions$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all app versions in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.list({ + * // Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListAppVersions call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list app versions from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersions": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Versions$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/versions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.restore({ + * // Required. The resource name of the app version to restore. + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options: StreamMethodOptions + ): Promise>; + restore( + params?: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options?: MethodOptions + ): Promise>; + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + callback: BodyResponseCallback + ): void; + restore(callback: BodyResponseCallback): void; + restore( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Restore + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Restore; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Restore; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:restore').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Versions$Create extends StandardParameters { + /** + * Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version. + */ + appVersionId?: string; + /** + * Required. The resource name of the app to create an app version in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AppVersion; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$Delete extends StandardParameters { + /** + * Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the app version to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$Get extends StandardParameters { + /** + * Required. The resource name of the app version to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListAppVersions call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list app versions from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$Restore extends StandardParameters { + /** + * Required. The resource name of the app version to restore. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RestoreAppVersionRequest; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.operations.cancel({ + * // The name of the operation resource to be cancelled. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): Promise>; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): Promise>; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.operations.delete({ + * // The name of the operation resource to be deleted. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.operations.get({ + * // The name of the operation resource. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.operations.list({ + * // The standard list filter. + * filter: 'placeholder-value', + * // The name of the operation's parent resource. + * name: 'projects/my-project/locations/my-location', + * // The standard list page size. + * pageSize: 'placeholder-value', + * // The standard list page token. + * pageToken: 'placeholder-value', + * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "operations": [], + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Operations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Operations$Cancel extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Projects$Locations$Operations$Delete extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$List extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + /** + * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + */ + returnPartialSuccess?: boolean; + } +} diff --git a/src/apis/ces/v1beta.ts b/src/apis/ces/v1beta.ts new file mode 100644 index 0000000000..f75a4c4644 --- /dev/null +++ b/src/apis/ces/v1beta.ts @@ -0,0 +1,20365 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosResponseWithHTTP2, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace ces_v1beta { + export interface Options extends GlobalOptions { + version: 'v1beta'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Gemini Enterprise for Customer Experience API + * + * + * + * @example + * ```js + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * ``` + */ + export class Ces { + context: APIRequestContext; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + } + } + + /** + * Configuration of an Action for the tool to use. Note: This can be either an Action or an Operation. See https://cloud.google.com/integration-connectors/docs/entities-operation-action for details. + */ + export interface Schema$Action { + /** + * ID of a Connection action for the tool to use. + */ + connectionActionId?: string | null; + /** + * Entity operation configuration for the tool to use. + */ + entityOperation?: Schema$ActionEntityOperation; + /** + * Optional. Entity fields to use as inputs for the operation. If no fields are specified, all fields of the Entity will be used. + */ + inputFields?: string[] | null; + /** + * Optional. Entity fields to return from the operation. If no fields are specified, all fields of the Entity will be returned. + */ + outputFields?: string[] | null; + } + /** + * Entity CRUD operation specification. + */ + export interface Schema$ActionEntityOperation { + /** + * Required. ID of the entity. + */ + entityId?: string | null; + /** + * Required. Operation to perform on the entity. + */ + operation?: string | null; + } + /** + * An agent acts as the fundamental building block that provides instructions to the Large Language Model (LLM) for executing specific tasks. + */ + export interface Schema$Agent { + /** + * Optional. The callbacks to execute after the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + afterAgentCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + afterModelCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute after the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + afterToolCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute before the agent is called. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + beforeAgentCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + beforeModelCallbacks?: Schema$Callback[]; + /** + * Optional. The callbacks to execute before the tool is invoked. If there are multiple tool invocations, the callback will be executed multiple times. The provided callbacks are executed sequentially in the exact order they are given in the list. If a callback returns an overridden response, execution stops and any remaining callbacks are skipped. + */ + beforeToolCallbacks?: Schema$Callback[]; + /** + * Optional. List of child agents in the agent tree. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + childAgents?: string[] | null; + /** + * Output only. Timestamp when the agent was created. + */ + createTime?: string | null; + /** + * Optional. Human-readable description of the agent. + */ + description?: string | null; + /** + * Required. Display name of the agent. + */ + displayName?: string | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Output only. If the agent is generated by the LLM assistant, this field contains a descriptive summary of the generation. + */ + generatedSummary?: string | null; + /** + * Optional. List of guardrails for the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + guardrails?: string[] | null; + /** + * Optional. Instructions for the LLM model to guide the agent's behavior. + */ + instruction?: string | null; + /** + * Optional. The default agent type. + */ + llmAgent?: Schema$AgentLlmAgent; + /** + * Optional. Configurations for the LLM model. + */ + modelSettings?: Schema$ModelSettings; + /** + * Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + name?: string | null; + /** + * Optional. The remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent to be used for the agent execution. If this field is set, all other agent level properties will be ignored. Note: If the Dialogflow agent is in a different project from the app, you should grant `roles/dialogflow.client` to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + remoteDialogflowAgent?: Schema$AgentRemoteDialogflowAgent; + /** + * Optional. List of available tools for the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tools?: string[] | null; + /** + * Optional. List of toolsets for the agent. + */ + toolsets?: Schema$AgentAgentToolset[]; + /** + * Optional. Agent transfer rules. If multiple rules match, the first one in the list will be used. + */ + transferRules?: Schema$TransferRule[]; + /** + * Output only. Timestamp when the agent was last updated. + */ + updateTime?: string | null; + } + /** + * A toolset with a selection of its tools. + */ + export interface Schema$AgentAgentToolset { + /** + * Optional. The tools IDs to filter the toolset. + */ + toolIds?: string[] | null; + /** + * Required. The resource name of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + toolset?: string | null; + } + /** + * Default agent type. The agent uses instructions and callbacks specified in the agent to perform the task using a large language model. + */ + export interface Schema$AgentLlmAgent {} + /** + * The agent which will transfer execution to a remote [Dialogflow CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. The Dialogflow agent will process subsequent user queries until the session ends or flow ends, and the control is transferred back to the parent CES agent. + */ + export interface Schema$AgentRemoteDialogflowAgent { + /** + * Required. The [Dialogflow](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent resource name. Format: `projects/{project\}/locations/{location\}/agents/{agent\}` + */ + agent?: string | null; + /** + * Optional. The environment ID of the Dialogflow agent to be used for the agent execution. If not specified, the draft environment will be used. + */ + environmentId?: string | null; + /** + * Optional. The flow ID of the flow in the Dialogflow agent. + */ + flowId?: string | null; + /** + * Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. + */ + inputVariableMapping?: {[key: string]: string} | null; + /** + * Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. + */ + outputVariableMapping?: {[key: string]: string} | null; + /** + * Optional. Indicates whether to respect the message-level interruption settings configured in the Dialogflow agent. * If false: all response messages from the Dialogflow agent follow the app-level barge-in settings. * If true: only response messages with [`allow_playback_interruption`](https://docs.cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#text) set to true will be interruptable, all other messages follow the app-level barge-in settings. + */ + respectResponseInterruptionSettings?: boolean | null; + } + /** + * Represents an event indicating the transfer of a conversation to a different agent. + */ + export interface Schema$AgentTransfer { + /** + * Output only. Display name of the agent. + */ + displayName?: string | null; + /** + * Required. The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + targetAgent?: string | null; + } + /** + * Aggregated metrics for an evaluation or evaluation dataset. + */ + export interface Schema$AggregatedMetrics { + /** + * Output only. Aggregated metrics, grouped by app version ID. + */ + metricsByAppVersion?: Schema$AggregatedMetricsMetricsByAppVersion[]; + } + /** + * Metrics for hallucination results. + */ + export interface Schema$AggregatedMetricsHallucinationMetrics { + /** + * Output only. The average hallucination score (0 to 1). + */ + score?: number | null; + } + /** + * Metrics aggregated per app version. + */ + export interface Schema$AggregatedMetricsMetricsByAppVersion { + /** + * Output only. The app version ID. + */ + appVersionId?: string | null; + /** + * Output only. The number of times the evaluation failed. + */ + failCount?: number | null; + /** + * Output only. Metrics for hallucination within this app version. + */ + hallucinationMetrics?: Schema$AggregatedMetricsHallucinationMetrics[]; + /** + * Output only. Metrics aggregated per turn within this app version. + */ + metricsByTurn?: Schema$AggregatedMetricsMetricsByTurn[]; + /** + * Output only. The number of times the evaluation passed. + */ + passCount?: number | null; + /** + * Output only. Metrics for semantic similarity within this app version. + */ + semanticSimilarityMetrics?: Schema$AggregatedMetricsSemanticSimilarityMetrics[]; + /** + * Output only. Metrics for tool call latency within this app version. + */ + toolCallLatencyMetrics?: Schema$AggregatedMetricsToolCallLatencyMetrics[]; + /** + * Output only. Metrics for each tool within this app version. + */ + toolMetrics?: Schema$AggregatedMetricsToolMetrics[]; + /** + * Output only. Metrics for turn latency within this app version. + */ + turnLatencyMetrics?: Schema$AggregatedMetricsTurnLatencyMetrics[]; + } + /** + * Metrics aggregated per turn. + */ + export interface Schema$AggregatedMetricsMetricsByTurn { + /** + * Output only. Metrics for hallucination within this turn. + */ + hallucinationMetrics?: Schema$AggregatedMetricsHallucinationMetrics[]; + /** + * Output only. Metrics for semantic similarity within this turn. + */ + semanticSimilarityMetrics?: Schema$AggregatedMetricsSemanticSimilarityMetrics[]; + /** + * Output only. Metrics for tool call latency within this turn. + */ + toolCallLatencyMetrics?: Schema$AggregatedMetricsToolCallLatencyMetrics[]; + /** + * Output only. Metrics for each tool within this turn. + */ + toolMetrics?: Schema$AggregatedMetricsToolMetrics[]; + /** + * Output only. The turn index (0-based). + */ + turnIndex?: number | null; + /** + * Output only. Metrics for turn latency within this turn. + */ + turnLatencyMetrics?: Schema$AggregatedMetricsTurnLatencyMetrics[]; + } + /** + * Metrics for semantic similarity results. + */ + export interface Schema$AggregatedMetricsSemanticSimilarityMetrics { + /** + * Output only. The average semantic similarity score (0-4). + */ + score?: number | null; + } + /** + * Metrics for tool call latency. + */ + export interface Schema$AggregatedMetricsToolCallLatencyMetrics { + /** + * Output only. The average latency of the tool calls. + */ + averageLatency?: string | null; + /** + * Output only. The name of the tool. + */ + tool?: string | null; + } + /** + * Metrics for a single tool. + */ + export interface Schema$AggregatedMetricsToolMetrics { + /** + * Output only. The number of times the tool failed. + */ + failCount?: number | null; + /** + * Output only. The number of times the tool passed. + */ + passCount?: number | null; + /** + * Output only. The name of the tool. + */ + tool?: string | null; + } + /** + * Metrics for turn latency. + */ + export interface Schema$AggregatedMetricsTurnLatencyMetrics { + /** + * Output only. The average latency of the turns. + */ + averageLatency?: string | null; + } + /** + * Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. + */ + export interface Schema$AmbientSoundConfig { + /** + * Optional. Ambient noise as a mono-channel, 16kHz WAV file stored in [Cloud Storage](https://cloud.google.com/storage). Note: Please make sure the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com` has `storage.objects.get` permission to the Cloud Storage object. + */ + gcsUri?: string | null; + /** + * Optional. Deprecated: `prebuilt_ambient_noise` is deprecated in favor of `prebuilt_ambient_sound`. + */ + prebuiltAmbientNoise?: string | null; + /** + * Optional. Name of the prebuilt ambient sound. Valid values are: - "coffee_shop" - "keyboard" - "keypad" - "hum" - "office_1" - "office_2" - "office_3" - "room_1" - "room_2" - "room_3" - "room_4" - "room_5" - "air_conditioner" + */ + prebuiltAmbientSound?: string | null; + /** + * Optional. Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + */ + volumeGainDb?: number | null; + } + /** + * Authentication information required for API calls. + */ + export interface Schema$ApiAuthentication { + /** + * Optional. Config for API key auth. + */ + apiKeyConfig?: Schema$ApiKeyConfig; + /** + * Optional. Config for bearer token auth. + */ + bearerTokenConfig?: Schema$BearerTokenConfig; + /** + * Optional. Config for OAuth. + */ + oauthConfig?: Schema$OAuthConfig; + /** + * Optional. Config for service account authentication. + */ + serviceAccountAuthConfig?: Schema$ServiceAccountAuthConfig; + /** + * Optional. Config for ID token auth generated from CES service agent. + */ + serviceAgentIdTokenAuthConfig?: Schema$ServiceAgentIdTokenAuthConfig; + } + /** + * Configurations for authentication with API key. + */ + export interface Schema$ApiKeyConfig { + /** + * Required. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + apiKeySecretVersion?: string | null; + /** + * Required. The parameter name or the header name of the API key. E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name. + */ + keyName?: string | null; + /** + * Required. Key location in the request. + */ + requestLocation?: string | null; + } + /** + * An app serves as a top-level container for a group of agents, including the root agent and its sub-agents, along with their associated configurations. These agents work together to achieve specific goals within the app's context. + */ + export interface Schema$App { + /** + * Optional. Audio processing configuration of the app. + */ + audioProcessingConfig?: Schema$AudioProcessingConfig; + /** + * Optional. The default client certificate settings for the app. + */ + clientCertificateSettings?: Schema$ClientCertificateSettings; + /** + * Output only. Timestamp when the app was created. + */ + createTime?: string | null; + /** + * Optional. The data store settings for the app. + */ + dataStoreSettings?: Schema$DataStoreSettings; + /** + * Optional. The default channel profile used by the app. + */ + defaultChannelProfile?: Schema$ChannelProfile; + /** + * Output only. Number of deployments in the app. + */ + deploymentCount?: number | null; + /** + * Optional. Human-readable description of the app. + */ + description?: string | null; + /** + * Required. Display name of the app. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. The evaluation thresholds for the app. + */ + evaluationMetricsThresholds?: Schema$EvaluationMetricsThresholds; + /** + * Optional. The evaluation personas for the app. This field is used to define the personas that can be used for evaluation. Maximum of 30 personas can be defined. + */ + evaluationPersonas?: Schema$EvaluationPersona[]; + /** + * Optional. The evaluation settings for the app. + */ + evaluationSettings?: Schema$EvaluationSettings; + /** + * Optional. Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents. + */ + globalInstruction?: string | null; + /** + * Optional. List of guardrails for the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + guardrails?: string[] | null; + /** + * Optional. Language settings of the app. + */ + languageSettings?: Schema$LanguageSettings; + /** + * Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. + */ + locked?: boolean | null; + /** + * Optional. Logging settings of the app. + */ + loggingSettings?: Schema$LoggingSettings; + /** + * Optional. Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages. + */ + metadata?: {[key: string]: string} | null; + /** + * Optional. The default LLM model settings for the app. Individual resources (e.g. agents, guardrails) can override these configurations as needed. + */ + modelSettings?: Schema$ModelSettings; + /** + * Identifier. The unique identifier of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + name?: string | null; + /** + * Optional. Whether the app is pinned in the app list. + */ + pinned?: boolean | null; + /** + * Output only. The declarations of predefined variables for the app. + */ + predefinedVariableDeclarations?: Schema$AppVariableDeclaration[]; + /** + * Optional. The root agent is the entry point of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + rootAgent?: string | null; + /** + * Optional. TimeZone settings of the app. + */ + timeZoneSettings?: Schema$TimeZoneSettings; + /** + * Optional. The tool execution mode for the app. If not provided, will default to PARALLEL. + */ + toolExecutionMode?: string | null; + /** + * Output only. Timestamp when the app was last updated. + */ + updateTime?: string | null; + /** + * Optional. The declarations of the variables. + */ + variableDeclarations?: Schema$AppVariableDeclaration[]; + } + /** + * A snapshot of the app. + */ + export interface Schema$AppSnapshot { + /** + * Optional. List of agents in the app. + */ + agents?: Schema$Agent[]; + /** + * Optional. The basic settings for the app. + */ + app?: Schema$App; + /** + * Optional. List of examples in the app. + */ + examples?: Schema$Example[]; + /** + * Optional. List of guardrails in the app. + */ + guardrails?: Schema$Guardrail[]; + /** + * Optional. List of tools in the app. + */ + tools?: Schema$Tool[]; + /** + * Optional. List of toolsets in the app. + */ + toolsets?: Schema$Toolset[]; + } + /** + * Defines the structure and metadata for a variable. + */ + export interface Schema$AppVariableDeclaration { + /** + * Required. The description of the variable. + */ + description?: string | null; + /** + * Required. The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores. + */ + name?: string | null; + /** + * Required. The schema of the variable. + */ + schema?: Schema$Schema; + } + /** + * In Customer Engagement Suite (CES), an app version is a snapshot of the app at a specific point in time. It is immutable and cannot be modified once created. + */ + export interface Schema$AppVersion { + /** + * Output only. Timestamp when the app version was created. + */ + createTime?: string | null; + /** + * Output only. Email of the user who created the app version. + */ + creator?: string | null; + /** + * Optional. The description of the app version. + */ + description?: string | null; + /** + * Optional. The display name of the app version. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Identifier. The unique identifier of the app version. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + name?: string | null; + /** + * Output only. The snapshot of the app when the version is created. + */ + snapshot?: Schema$AppSnapshot; + } + /** + * Configuration for how the input and output audio should be processed and delivered. + */ + export interface Schema$AudioProcessingConfig { + /** + * Optional. Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. + */ + ambientSoundConfig?: Schema$AmbientSoundConfig; + /** + * Optional. Configures the agent behavior for the user barge-in activities. + */ + bargeInConfig?: Schema$BargeInConfig; + /** + * Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement. + */ + inactivityTimeout?: string | null; + /** + * Optional. Configuration of how the agent response should be synthesized, mapping from the language code to SynthesizeSpeechConfig. If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains "en-us" and "en", and the specified language code is "en-gb", then "en" configuration will be used. Note: Language code is case-insensitive. + */ + synthesizeSpeechConfigs?: { + [key: string]: Schema$SynthesizeSpeechConfig; + } | null; + } + /** + * Configuration for how the audio interactions should be recorded. + */ + export interface Schema$AudioRecordingConfig { + /** + * Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + gcsBucket?: string | null; + /** + * Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. + */ + gcsPathPrefix?: string | null; + } + /** + * Configuration for how the user barge-in activities should be handled. + */ + export interface Schema$BargeInConfig { + /** + * Optional. If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually. + */ + bargeInAwareness?: boolean | null; + /** + * Optional. Disables user barge-in while the agent is speaking. If true, user input during agent response playback will be ignored. Deprecated: `disable_barge_in` is deprecated in favor of `disable_barge_in_control` in ChannelProfile. + */ + disableBargeIn?: boolean | null; + } + /** + * Request message for AgentService.BatchDeleteConversations. + */ + export interface Schema$BatchDeleteConversationsRequest { + /** + * Required. The resource names of the conversations to delete. + */ + conversations?: string[] | null; + } + /** + * Response message for AgentService.BatchDeleteConversations. + */ + export interface Schema$BatchDeleteConversationsResponse { + /** + * The list of conversations that were successfully deleted. + */ + deletedConversations?: string[] | null; + /** + * Optional. A list of error messages associated with conversations that failed to be deleted. + */ + errorMessages?: string[] | null; + /** + * The list of conversations that failed to be deleted. + */ + failedConversations?: string[] | null; + } + /** + * Configurations for authentication with a bearer token. + */ + export interface Schema$BearerTokenConfig { + /** + * Required. The bearer token. Must be in the format `$context.variables.`. + */ + token?: string | null; + } + /** + * Settings to describe the BigQuery export behaviors for the app. + */ + export interface Schema$BigQueryExportSettings { + /** + * Optional. The BigQuery dataset to export the data to. + */ + dataset?: string | null; + /** + * Optional. Indicates whether the BigQuery export is enabled. + */ + enabled?: boolean | null; + /** + * Optional. The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + project?: string | null; + } + /** + * Represents a blob input or output in the conversation. + */ + export interface Schema$Blob { + /** + * Required. Raw bytes of the blob. + */ + data?: string | null; + /** + * Required. The IANA standard MIME type of the source data. + */ + mimeType?: string | null; + } + /** + * A callback defines the custom logic to be executed at various stages of agent interaction. + */ + export interface Schema$Callback { + /** + * Optional. Human-readable description of the callback. + */ + description?: string | null; + /** + * Optional. Whether the callback is disabled. Disabled callbacks are ignored by the agent. + */ + disabled?: boolean | null; + /** + * Required. The python code to execute for the callback. + */ + pythonCode?: string | null; + } + /** + * The request message for Operations.CancelOperation. + */ + export interface Schema$CancelOperationRequest {} + /** + * Changelogs represent a change made to the app or to an resource within the app. + */ + export interface Schema$Changelog { + /** + * Output only. The action that was performed on the resource. + */ + action?: string | null; + /** + * Output only. Email address of the change author. + */ + author?: string | null; + /** + * Output only. The time when the change was made. + */ + createTime?: string | null; + /** + * Output only. The dependent resources that were changed. + */ + dependentResources?: Array<{[key: string]: any}> | null; + /** + * Output only. Description of the change. which typically captures the changed fields in the resource. + */ + description?: string | null; + /** + * Output only. Display name of the change. It typically should be the display name of the resource that was changed. + */ + displayName?: string | null; + /** + * Identifier. The unique identifier of the changelog. Format: `projects/{project\}/locations/{location\}/apps/{app\}/changelogs/{changelog\}` + */ + name?: string | null; + /** + * Output only. The new resource after the change. + */ + newResource?: {[key: string]: any} | null; + /** + * Output only. The original resource before the change. + */ + originalResource?: {[key: string]: any} | null; + /** + * Output only. The resource that was changed. + */ + resource?: string | null; + /** + * Output only. The type of the resource that was changed. + */ + resourceType?: string | null; + /** + * Output only. The monotonically increasing sequence number of the changelog. + */ + sequenceNumber?: string | null; + } + /** + * A ChannelProfile configures the agent's behavior for a specific communication channel, such as web UI or telephony. + */ + export interface Schema$ChannelProfile { + /** + * Optional. The type of the channel profile. + */ + channelType?: string | null; + /** + * Optional. Whether to disable user barge-in control in the conversation. - **true**: User interruptions are disabled while the agent is speaking. - **false**: The agent retains automatic control over when the user can interrupt. + */ + disableBargeInControl?: boolean | null; + /** + * Optional. Whether to disable DTMF (dual-tone multi-frequency). + */ + disableDtmf?: boolean | null; + /** + * Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high". + */ + noiseSuppressionLevel?: string | null; + /** + * Optional. The persona property of the channel profile. + */ + personaProperty?: Schema$ChannelProfilePersonaProperty; + /** + * Optional. The unique identifier of the channel profile. + */ + profileId?: string | null; + /** + * Optional. The configuration for the web widget. + */ + webWidgetConfig?: Schema$ChannelProfileWebWidgetConfig; + } + /** + * Represents the persona property of a channel. + */ + export interface Schema$ChannelProfilePersonaProperty { + /** + * Optional. The persona of the channel. + */ + persona?: string | null; + } + /** + * Message for configuration for the web widget. + */ + export interface Schema$ChannelProfileWebWidgetConfig { + /** + * Optional. The modality of the web widget. + */ + modality?: string | null; + /** + * Optional. The security settings of the web widget. + */ + securitySettings?: Schema$ChannelProfileWebWidgetConfigSecuritySettings; + /** + * Optional. The theme of the web widget. + */ + theme?: string | null; + /** + * Optional. The title of the web widget. + */ + webWidgetTitle?: string | null; + } + /** + * Security settings for the web widget. + */ + export interface Schema$ChannelProfileWebWidgetConfigSecuritySettings { + /** + * Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: "https://example.com" + */ + allowedOrigins?: string[] | null; + /** + * Optional. Indicates whether origin check for the web widget is enabled. If `true`, the web widget will check the origin of the website that loads the web widget and only allow it to be loaded in the same origin or any of the allowed origins. + */ + enableOriginCheck?: boolean | null; + /** + * Optional. Indicates whether public access to the web widget is enabled. If `true`, the web widget will be publicly accessible. If `false`, the web widget must be integrated with your own authentication and authorization system to return valid credentials for accessing the CES agent. + */ + enablePublicAccess?: boolean | null; + /** + * Optional. Indicates whether reCAPTCHA verification for the web widget is enabled. + */ + enableRecaptcha?: boolean | null; + } + /** + * A chunk of content within a message. + */ + export interface Schema$Chunk { + /** + * Optional. Agent transfer event. + */ + agentTransfer?: Schema$AgentTransfer; + /** + * A struct represents default variables at the start of the conversation, keyed by variable names. + */ + defaultVariables?: {[key: string]: any} | null; + /** + * Optional. Image data. + */ + image?: Schema$Image; + /** + * Optional. Custom payload data. + */ + payload?: {[key: string]: any} | null; + /** + * Optional. Text data. + */ + text?: string | null; + /** + * Optional. Tool execution request. + */ + toolCall?: Schema$ToolCall; + /** + * Optional. Tool execution response. + */ + toolResponse?: Schema$ToolResponse; + /** + * Optional. Transcript associated with the audio. + */ + transcript?: string | null; + /** + * A struct represents variables that were updated in the conversation, keyed by variable names. + */ + updatedVariables?: {[key: string]: any} | null; + } + /** + * Citations associated with the agent response. + */ + export interface Schema$Citations { + /** + * List of cited pieces of information. + */ + citedChunks?: Schema$CitationsCitedChunk[]; + } + /** + * Piece of cited information. + */ + export interface Schema$CitationsCitedChunk { + /** + * Text used for citaiton. + */ + text?: string | null; + /** + * Title of the cited document. + */ + title?: string | null; + /** + * URI used for citation. + */ + uri?: string | null; + } + /** + * Settings for custom client certificates. + */ + export interface Schema$ClientCertificateSettings { + /** + * Optional. The name of the SecretManager secret version resource storing the passphrase to decrypt the private key. Should be left unset if the private key is not encrypted. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` + */ + passphrase?: string | null; + /** + * Required. The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` + */ + privateKey?: string | null; + /** + * Required. The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines. + */ + tlsCertificate?: string | null; + } + /** + * Represents a client-side function that the agent can invoke. When the tool is chosen by the agent, control is handed off to the client. The client is responsible for executing the function and returning the result as a ToolResponse to continue the interaction with the agent. + */ + export interface Schema$ClientFunction { + /** + * Optional. The function description. + */ + description?: string | null; + /** + * Required. The function name. + */ + name?: string | null; + /** + * Optional. The schema of the function parameters. + */ + parameters?: Schema$Schema; + /** + * Optional. The schema of the function response. + */ + response?: Schema$Schema; + } + /** + * Settings to describe the Cloud Logging behaviors for the app. + */ + export interface Schema$CloudLoggingSettings { + /** + * Optional. Whether to enable Cloud Logging for the sessions. + */ + enableCloudLogging?: boolean | null; + } + /** + * A code block to be executed instead of a real tool call. + */ + export interface Schema$CodeBlock { + /** + * Required. Python code which will be invoked in tool fake mode. Expected Python function signature - To catch all tool calls: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -\> Optional[dict[str, Any]]: To catch a specific tool call: def fake_{tool_id\}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -\> Optional[dict[str, Any]]: If the function returns None, the real tool will be invoked instead. + */ + pythonCode?: string | null; + } + /** + * A ConnectorTool allows connections to different integrations. See: https://cloud.google.com/integration-connectors/docs/overview. + */ + export interface Schema$ConnectorTool { + /** + * Required. Action for the tool to use. + */ + action?: Schema$Action; + /** + * Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the ConnectorTool creation will fail. See https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override for details. + */ + authConfig?: Schema$EndUserAuthConfig; + /** + * Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project\}/locations/{location\}/connections/{connection\}` + */ + connection?: string | null; + /** + * Optional. The description of the tool that can be used by the Agent to decide whether to call this ConnectorTool. + */ + description?: string | null; + /** + * Optional. The name of the tool that can be used by the Agent to decide whether to call this ConnectorTool. + */ + name?: string | null; + } + /** + * A toolset that generates tools from an Integration Connectors Connection. + */ + export interface Schema$ConnectorToolset { + /** + * Optional. Configures how authentication is handled in Integration Connectors. By default, an admin authentication is passed in the Integration Connectors API requests. You can override it with a different end-user authentication config. **Note**: The Connection must have authentication override enabled in order to specify an EUC configuration here - otherwise, the Toolset creation will fail. See: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override + */ + authConfig?: Schema$EndUserAuthConfig; + /** + * Required. The full resource name of the referenced Integration Connectors Connection. Format: `projects/{project\}/locations/{location\}/connections/{connection\}` + */ + connection?: string | null; + /** + * Required. The list of connector actions/entity operations to generate tools for. + */ + connectorActions?: Schema$Action[]; + } + /** + * A conversation represents an interaction between an end user and the CES app. + */ + export interface Schema$Conversation { + /** + * Output only. The version of the app used for processing the conversation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + appVersion?: string | null; + /** + * DEPRECATED. Please use input_types instead. + */ + channelType?: string | null; + /** + * Output only. The deployment of the app used for processing the conversation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + deployment?: string | null; + /** + * Output only. Timestamp when the conversation was completed. + */ + endTime?: string | null; + /** + * Output only. The agent that initially handles the conversation. If not specified, the conversation is handled by the root agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + entryAgent?: string | null; + /** + * Output only. The input types of the conversation. + */ + inputTypes?: string[] | null; + /** + * Output only. The language code of the conversation. + */ + languageCode?: string | null; + /** + * Deprecated. Use turns instead. + */ + messages?: Schema$Message[]; + /** + * Identifier. The unique identifier of the conversation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/conversations/{conversation\}` + */ + name?: string | null; + /** + * Output only. Indicate the source of the conversation. + */ + source?: string | null; + /** + * Output only. Timestamp when the conversation was created. + */ + startTime?: string | null; + /** + * Output only. The number of turns in the conversation. + */ + turnCount?: number | null; + /** + * Required. The turns in the conversation. + */ + turns?: Schema$ConversationTurn[]; + } + /** + * Settings to describe the conversation logging behaviors for the app. + */ + export interface Schema$ConversationLoggingSettings { + /** + * Optional. Whether to disable conversation logging for the sessions. + */ + disableConversationLogging?: boolean | null; + } + /** + * All information about a single turn in the conversation. + */ + export interface Schema$ConversationTurn { + /** + * Optional. List of messages in the conversation turn, including user input, agent responses and intermediate events during the processing. + */ + messages?: Schema$Message[]; + /** + * Optional. The root span of the action processing. + */ + rootSpan?: Schema$Span; + } + /** + * A DataStore resource in Vertex AI Search. + */ + export interface Schema$DataStore { + /** + * Output only. The connector config for the data store connection. + */ + connectorConfig?: Schema$DataStoreConnectorConfig; + /** + * Output only. Timestamp when the data store was created. + */ + createTime?: string | null; + /** + * Output only. The display name of the data store. + */ + displayName?: string | null; + /** + * Output only. The document processing mode for the data store connection. Only set for PUBLIC_WEB and UNSTRUCTURED data stores. + */ + documentProcessingMode?: string | null; + /** + * Required. Full resource name of the DataStore. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{dataStore\}` + */ + name?: string | null; + /** + * Output only. The type of the data store. This field is readonly and populated by the server. + */ + type?: string | null; + } + /** + * The connector config for the data store connection. + */ + export interface Schema$DataStoreConnectorConfig { + /** + * Resource name of the collection the data store belongs to. + */ + collection?: string | null; + /** + * Display name of the collection the data store belongs to. + */ + collectionDisplayName?: string | null; + /** + * The name of the data source. Example: `salesforce`, `jira`, `confluence`, `bigquery`. + */ + dataSource?: string | null; + } + /** + * Data store related settings for the app. + */ + export interface Schema$DataStoreSettings { + /** + * Output only. The engines for the app. + */ + engines?: Schema$DataStoreSettingsEngine[]; + } + /** + * An engine to which the data stores are connected. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction. + */ + export interface Schema$DataStoreSettingsEngine { + /** + * Output only. The resource name of the engine. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}` + */ + name?: string | null; + /** + * Output only. The type of the engine. + */ + type?: string | null; + } + /** + * Tool to retrieve from Vertex AI Search datastore or engine for grounding. Accepts either a datastore or an engine, but not both. See Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction. + */ + export interface Schema$DataStoreTool { + /** + * Optional. Boost specification to boost certain documents. + */ + boostSpecs?: Schema$DataStoreToolBoostSpecs[]; + /** + * Optional. Search within a single specific DataStore. + */ + dataStoreSource?: Schema$DataStoreToolDataStoreSource; + /** + * Optional. The tool description. + */ + description?: string | null; + /** + * Optional. Search within an Engine (potentially across multiple DataStores). + */ + engineSource?: Schema$DataStoreToolEngineSource; + /** + * Optional. The filter parameter behavior. + */ + filterParameterBehavior?: string | null; + /** + * Optional. The modality configs for the data store. + */ + modalityConfigs?: Schema$DataStoreToolModalityConfig[]; + /** + * Required. The data store tool name. + */ + name?: string | null; + } + /** + * Boost specification to boost certain documents. + */ + export interface Schema$DataStoreToolBoostSpec { + /** + * Required. A list of boosting specifications. + */ + conditionBoostSpecs?: Schema$DataStoreToolBoostSpecConditionBoostSpec[]; + } + /** + * Boost specification for a condition. + */ + export interface Schema$DataStoreToolBoostSpecConditionBoostSpec { + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored. + */ + boost?: number | null; + /** + * Optional. Complex specification for custom ranking based on customer defined attribute value. + */ + boostControlSpec?: Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec; + /** + * Required. An expression which specifies a boost condition. The syntax is the same as filter expression syntax. Currently, the only supported condition is a list of BCP-47 lang codes. Example: To boost suggestions in languages en or fr: (lang_code: ANY("en", "fr")) + */ + condition?: string | null; + } + /** + * Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above. + */ + export interface Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpec { + /** + * Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value). + */ + attributeType?: string | null; + /** + * Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here. + */ + controlPoints?: Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint[]; + /** + * Optional. The name of the field whose value will be used to determine the boost amount. + */ + fieldName?: string | null; + /** + * Optional. The interpolation type to be applied to connect the control points listed below. + */ + interpolationType?: string | null; + } + /** + * The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable). + */ + export interface Schema$DataStoreToolBoostSpecConditionBoostSpecBoostControlSpecControlPoint { + /** + * Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. + */ + attributeValue?: string | null; + /** + * Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above. + */ + boostAmount?: number | null; + } + /** + * Boost specifications to boost certain documents. For more information, please refer to https://cloud.google.com/generative-ai-app-builder/docs/boosting. + */ + export interface Schema$DataStoreToolBoostSpecs { + /** + * Required. The Data Store where the boosting configuration is applied. Full resource name of DataStore, such as projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{dataStore\}. + */ + dataStores?: string[] | null; + /** + * Required. A list of boosting specifications. + */ + spec?: Schema$DataStoreToolBoostSpec[]; + } + /** + * Configuration for searching within a specific DataStore. + */ + export interface Schema$DataStoreToolDataStoreSource { + /** + * Optional. The data store. + */ + dataStore?: Schema$DataStore; + /** + * Optional. Filter specification for the DataStore. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata + */ + filter?: string | null; + } + /** + * Configuration for searching within an Engine, potentially targeting specific DataStores. + */ + export interface Schema$DataStoreToolEngineSource { + /** + * Optional. Use to target specific DataStores within the Engine. If empty, the search applies to all DataStores associated with the Engine. + */ + dataStoreSources?: Schema$DataStoreToolDataStoreSource[]; + /** + * Required. Full resource name of the Engine. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}` + */ + engine?: string | null; + /** + * Optional. A filter applied to the search across the Engine. Not relevant and not used if 'data_store_sources' is provided. See: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata + */ + filter?: string | null; + } + /** + * Grounding configuration. + */ + export interface Schema$DataStoreToolGroundingConfig { + /** + * Optional. Whether grounding is disabled. + */ + disabled?: boolean | null; + /** + * Optional. The groundedness threshold of the answer based on the retrieved sources. The value has a configurable range of [1, 5]. The level is used to threshold the groundedness of the answer, meaning that all responses with a groundedness score below the threshold will fall back to returning relevant snippets only. For example, a level of 3 means that the groundedness score must be 3 or higher for the response to be returned. + */ + groundingLevel?: number | null; + } + /** + * If specified, will apply the given configuration for the specified modality. + */ + export interface Schema$DataStoreToolModalityConfig { + /** + * Optional. The grounding configuration. + */ + groundingConfig?: Schema$DataStoreToolGroundingConfig; + /** + * Required. The modality type. + */ + modalityType?: string | null; + /** + * Optional. The rewriter config. + */ + rewriterConfig?: Schema$DataStoreToolRewriterConfig; + /** + * Optional. The summarization config. + */ + summarizationConfig?: Schema$DataStoreToolSummarizationConfig; + } + /** + * Rewriter configuration. + */ + export interface Schema$DataStoreToolRewriterConfig { + /** + * Optional. Whether the rewriter is disabled. + */ + disabled?: boolean | null; + /** + * Required. Configurations for the LLM model. + */ + modelSettings?: Schema$ModelSettings; + /** + * Optional. The prompt definition. If not set, default prompt will be used. + */ + prompt?: string | null; + } + /** + * Summarization configuration. + */ + export interface Schema$DataStoreToolSummarizationConfig { + /** + * Optional. Whether summarization is disabled. + */ + disabled?: boolean | null; + /** + * Optional. Configurations for the LLM model. + */ + modelSettings?: Schema$ModelSettings; + /** + * Optional. The prompt definition. If not set, default prompt will be used. + */ + prompt?: string | null; + } + /** + * Operation metadata for EvaluationService.DeleteEvaluationRun. + */ + export interface Schema$DeleteEvaluationRunOperationMetadata {} + /** + * A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile. + */ + export interface Schema$Deployment { + /** + * Required. The resource name of the app version to deploy. Format: projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\} + */ + appVersion?: string | null; + /** + * Required. The channel profile used in the deployment. + */ + channelProfile?: Schema$ChannelProfile; + /** + * Output only. Timestamp when this deployment was created. + */ + createTime?: string | null; + /** + * Required. Display name of the deployment. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Identifier. The resource name of the deployment. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + */ + name?: string | null; + /** + * Output only. Timestamp when this deployment was last updated. + */ + updateTime?: string | null; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} + /** + * Indicates the session has terminated, due to either successful completion (e.g. user says "Good bye!" ) or an agent escalation. The agent will not process any further inputs after session is terminated and the client should half-close and disconnect after receiving all remaining responses from the agent. + */ + export interface Schema$EndSession { + /** + * Optional. Provides additional information about the end session signal, such as the reason for ending the session. + */ + metadata?: {[key: string]: any} | null; + } + /** + * End-user authentication configuration used for Connection calls. The field values must be the names of context variables in the format `$context.variables.`. + */ + export interface Schema$EndUserAuthConfig { + /** + * Oauth 2.0 Authorization Code authentication. + */ + oauth2AuthCodeConfig?: Schema$EndUserAuthConfigOauth2AuthCodeConfig; + /** + * JWT Profile Oauth 2.0 Authorization Grant authentication. + */ + oauth2JwtBearerConfig?: Schema$EndUserAuthConfigOauth2JwtBearerConfig; + } + /** + * Oauth 2.0 Authorization Code authentication configuration. + */ + export interface Schema$EndUserAuthConfigOauth2AuthCodeConfig { + /** + * Required. Oauth token parameter name to pass through. Must be in the format `$context.variables.`. + */ + oauthToken?: string | null; + } + /** + * JWT Profile Oauth 2.0 Authorization Grant authentication configuration. + */ + export interface Schema$EndUserAuthConfigOauth2JwtBearerConfig { + /** + * Required. Client parameter name to pass through. Must be in the format `$context.variables.`. + */ + clientKey?: string | null; + /** + * Required. Issuer parameter name to pass through. Must be in the format `$context.variables.`. + */ + issuer?: string | null; + /** + * Required. Subject parameter name to pass through. Must be in the format `$context.variables.`. + */ + subject?: string | null; + } + /** + * An evaluation represents all of the information needed to simulate and evaluate an agent. + */ + export interface Schema$Evaluation { + /** + * Output only. The aggregated metrics for this evaluation across all runs. + */ + aggregatedMetrics?: Schema$AggregatedMetrics; + /** + * Output only. The user who created the evaluation. + */ + createdBy?: string | null; + /** + * Output only. Timestamp when the evaluation was created. + */ + createTime?: string | null; + /** + * Optional. User-defined description of the evaluation. + */ + description?: string | null; + /** + * Required. User-defined display name of the evaluation. Unique within an App. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Output only. List of evaluation datasets the evaluation belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationDatasets/{evaluationDataset\}` + */ + evaluationDatasets?: string[] | null; + /** + * Output only. The EvaluationRuns that this Evaluation is associated with. + */ + evaluationRuns?: string[] | null; + /** + * Optional. The golden steps to be evaluated. + */ + golden?: Schema$EvaluationGolden; + /** + * Output only. Whether the evaluation is invalid. This can happen if an evaluation is referencing a tool, toolset, or agent that has since been deleted. + */ + invalid?: boolean | null; + /** + * Output only. The latest evaluation result for this evaluation. + */ + lastCompletedResult?: Schema$EvaluationResult; + /** + * Output only. The last 10 evaluation results for this evaluation. This is only populated if include_last_ten_results is set to true in the ListEvaluationsRequest or GetEvaluationRequest. + */ + lastTenResults?: Schema$EvaluationResult[]; + /** + * Output only. The user who last updated the evaluation. + */ + lastUpdatedBy?: string | null; + /** + * Identifier. The unique identifier of this evaluation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}` + */ + name?: string | null; + /** + * Optional. The config for a scenario. + */ + scenario?: Schema$EvaluationScenario; + /** + * Optional. User defined tags to categorize the evaluation. + */ + tags?: string[] | null; + /** + * Output only. Timestamp when the evaluation was last updated. + */ + updateTime?: string | null; + } + /** + * EvaluationConfig configures settings for running the evaluation. + */ + export interface Schema$EvaluationConfig { + /** + * Optional. The channel to evaluate. + */ + evaluationChannel?: string | null; + /** + * Optional. Configuration for processing the input audio. + */ + inputAudioConfig?: Schema$InputAudioConfig; + /** + * Optional. Configuration for generating the output audio. + */ + outputAudioConfig?: Schema$OutputAudioConfig; + /** + * Optional. Specifies whether the evaluation should use real tool calls or fake tools. + */ + toolCallBehaviour?: string | null; + } + /** + * An evaluation dataset represents a set of evaluations that are grouped together basaed on shared tags. + */ + export interface Schema$EvaluationDataset { + /** + * Output only. The aggregated metrics for this evaluation dataset across all runs. + */ + aggregatedMetrics?: Schema$AggregatedMetrics; + /** + * Output only. The user who created the evaluation dataset. + */ + createdBy?: string | null; + /** + * Output only. Timestamp when the evaluation dataset was created. + */ + createTime?: string | null; + /** + * Required. User-defined display name of the evaluation dataset. Unique within an App. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. Evaluations that are included in this dataset. + */ + evaluations?: string[] | null; + /** + * Output only. The user who last updated the evaluation dataset. + */ + lastUpdatedBy?: string | null; + /** + * Identifier. The unique identifier of this evaluation dataset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationDatasets/{evaluationDataset\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the evaluation dataset was last updated. + */ + updateTime?: string | null; + } + /** + * Information about an error encountered during an evaluation execution. + */ + export interface Schema$EvaluationErrorInfo { + /** + * Output only. The error message. + */ + errorMessage?: string | null; + /** + * Output only. The type of error. + */ + errorType?: string | null; + /** + * Output only. The session ID for the conversation that caused the error. + */ + sessionId?: string | null; + } + /** + * An evaluation expectation represents a specific criteria to evaluate against. + */ + export interface Schema$EvaluationExpectation { + /** + * Output only. Timestamp when the evaluation expectation was created. + */ + createTime?: string | null; + /** + * Required. User-defined display name. Must be unique within the app. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. Evaluation criteria based on an LLM prompt. + */ + llmCriteria?: Schema$EvaluationExpectationLlmCriteria; + /** + * Identifier. The unique identifier of this evaluation expectation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationExpectations/{evaluation_expectation\}` + */ + name?: string | null; + /** + * Optional. User-defined tags for expectations. Can be used to filter expectations. + */ + tags?: string[] | null; + /** + * Output only. Timestamp when the evaluation expectation was last updated. + */ + updateTime?: string | null; + } + /** + * Configuration for LLM-based evaluation criteria. + */ + export interface Schema$EvaluationExpectationLlmCriteria { + /** + * Required. The prompt/instructions provided to the LLM judge. + */ + prompt?: string | null; + } + /** + * The steps required to replay a golden conversation. + */ + export interface Schema$EvaluationGolden { + /** + * Optional. The evaluation expectations to evaluate the replayed conversation against. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationExpectations/{evaluationExpectation\}` + */ + evaluationExpectations?: string[] | null; + /** + * Required. The golden turns required to replay a golden conversation. + */ + turns?: Schema$EvaluationGoldenTurn[]; + } + /** + * Represents a single, checkable requirement. + */ + export interface Schema$EvaluationGoldenExpectation { + /** + * Optional. Check that the agent responded with the correct response. The role "agent" is implied. + */ + agentResponse?: Schema$Message; + /** + * Optional. Check that the agent transferred the conversation to a different agent. + */ + agentTransfer?: Schema$AgentTransfer; + /** + * Optional. The tool response to mock, with the parameters of interest specified. Any parameters not specified will be hallucinated by the LLM. + */ + mockToolResponse?: Schema$ToolResponse; + /** + * Optional. A note for this requirement, useful in reporting when specific checks fail. E.g., "Check_Payment_Tool_Called". + */ + note?: string | null; + /** + * Optional. Check that a specific tool was called with the parameters. + */ + toolCall?: Schema$ToolCall; + /** + * Optional. Check that a specific tool had the expected response. + */ + toolResponse?: Schema$ToolResponse; + /** + * Optional. Check that the agent updated the session variables to the expected values. Used to also capture agent variable updates for golden evals. + */ + updatedVariables?: {[key: string]: any} | null; + } + /** + * A golden turn defines a single turn in a golden conversation. + */ + export interface Schema$EvaluationGoldenTurn { + /** + * Optional. The root span of the golden turn for processing and maintaining audio information. + */ + rootSpan?: Schema$Span; + /** + * Required. The steps required to replay a golden conversation. + */ + steps?: Schema$EvaluationStep[]; + } + /** + * Threshold settings for metrics in an Evaluation. + */ + export interface Schema$EvaluationMetricsThresholds { + /** + * Optional. The golden evaluation metrics thresholds. + */ + goldenEvaluationMetricsThresholds?: Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds; + /** + * Optional. The hallucination metric behavior for golden evaluations. + */ + goldenHallucinationMetricBehavior?: string | null; + /** + * Optional. Deprecated: Use `golden_hallucination_metric_behavior` instead. The hallucination metric behavior is currently used for golden evaluations. + */ + hallucinationMetricBehavior?: string | null; + /** + * Optional. The hallucination metric behavior for scenario evaluations. + */ + scenarioHallucinationMetricBehavior?: string | null; + } + /** + * Settings for golden evaluations. + */ + export interface Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholds { + /** + * Optional. The expectation level metrics thresholds. + */ + expectationLevelMetricsThresholds?: Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds; + /** + * Optional. The turn level metrics thresholds. + */ + turnLevelMetricsThresholds?: Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds; + } + /** + * Expectation level metrics thresholds. + */ + export interface Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsExpectationLevelMetricsThresholds { + /** + * Optional. The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0. + */ + toolInvocationParameterCorrectnessThreshold?: number | null; + } + /** + * Turn level metrics thresholds. + */ + export interface Schema$EvaluationMetricsThresholdsGoldenEvaluationMetricsThresholdsTurnLevelMetricsThresholds { + /** + * Optional. The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0. + */ + overallToolInvocationCorrectnessThreshold?: number | null; + /** + * Optional. The semantic similarity channel to use for evaluation. + */ + semanticSimilarityChannel?: string | null; + /** + * Optional. The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is \>= 3. + */ + semanticSimilaritySuccessThreshold?: number | null; + } + /** + * A persona represents an end user in an evaluation. + */ + export interface Schema$EvaluationPersona { + /** + * Optional. The description of the persona. + */ + description?: string | null; + /** + * Required. The display name of the persona. Unique within an app. + */ + displayName?: string | null; + /** + * Required. The unique identifier of the persona. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationPersonas/{evaluationPersona\}` + */ + name?: string | null; + /** + * Required. An instruction for the agent on how to behave in the evaluation. + */ + personality?: string | null; + /** + * Optional. Configuration for how the persona sounds (TTS settings). + */ + speechConfig?: Schema$EvaluationPersonaSpeechConfig; + } + /** + * Configuration for Text-to-Speech generation. + */ + export interface Schema$EvaluationPersonaSpeechConfig { + /** + * Optional. The simulated audio environment. + */ + environment?: string | null; + /** + * Optional. The speaking rate. 1.0 is normal. Lower is slower (e.g., 0.8), higher is faster (e.g., 1.5). Useful for testing how the agent handles fast talkers. + */ + speakingRate?: number | null; + /** + * Optional. The specific voice identifier/accent to use. Example: "en-US-Wavenet-D" or "en-GB-Standard-A" + */ + voiceId?: string | null; + } + /** + * An evaluation result represents the output of running an Evaluation. + */ + export interface Schema$EvaluationResult { + /** + * Output only. The app version used to generate the conversation that resulted in this result. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + appVersion?: string | null; + /** + * Output only. The display name of the `app_version` that the evaluation ran against. + */ + appVersionDisplayName?: string | null; + /** + * Output only. The changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft. + */ + changelog?: string | null; + /** + * Output only. The create time of the changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft. + */ + changelogCreateTime?: string | null; + /** + * Output only. The configuration used in the evaluation run that resulted in this result. + */ + config?: Schema$EvaluationConfig; + /** + * Output only. Timestamp when the evaluation result was created. + */ + createTime?: string | null; + /** + * Required. Display name of the Evaluation Result. Unique within an Evaluation. By default, it has the following format: " result - ". + */ + displayName?: string | null; + /** + * Output only. Deprecated: Use `error_info` instead. Errors encountered during execution. + */ + error?: Schema$Status; + /** + * Output only. Error information for the evaluation result. + */ + errorInfo?: Schema$EvaluationErrorInfo; + /** + * Output only. The evaluation thresholds for the result. + */ + evaluationMetricsThresholds?: Schema$EvaluationMetricsThresholds; + /** + * Output only. The evaluation run that produced this result. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationRuns/{evaluationRun\}` + */ + evaluationRun?: string | null; + /** + * Output only. The outcome of the evaluation. Only populated if execution_state is COMPLETE. + */ + evaluationStatus?: string | null; + /** + * Output only. The state of the evaluation result execution. + */ + executionState?: string | null; + /** + * Output only. The outcome of a golden evaluation. + */ + goldenResult?: Schema$EvaluationResultGoldenResult; + /** + * Output only. The method used to run the golden evaluation. + */ + goldenRunMethod?: string | null; + /** + * Output only. The user who initiated the evaluation run that resulted in this result. + */ + initiatedBy?: string | null; + /** + * Identifier. The unique identifier of the evaluation result. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}/results/{result\}` + */ + name?: string | null; + /** + * Output only. The persona used to generate the conversation for the evaluation result. + */ + persona?: Schema$EvaluationPersona; + /** + * Output only. The outcome of a scenario evaluation. + */ + scenarioResult?: Schema$EvaluationResultScenarioResult; + } + /** + * The result of a single evaluation expectation. + */ + export interface Schema$EvaluationResultEvaluationExpectationResult { + /** + * Output only. The evaluation expectation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationExpectations/{evaluation_expectation\}` + */ + evaluationExpectation?: string | null; + /** + * Output only. The explanation for the result. + */ + explanation?: string | null; + /** + * Output only. The outcome of the evaluation expectation. + */ + outcome?: string | null; + /** + * Output only. The prompt that was used for the evaluation. + */ + prompt?: string | null; + } + /** + * Specifies the expectation and the result of that expectation. + */ + export interface Schema$EvaluationResultGoldenExpectationOutcome { + /** + * Output only. The expectation that was evaluated. + */ + expectation?: Schema$EvaluationGoldenExpectation; + /** + * Output only. The result of the agent response expectation. + */ + observedAgentResponse?: Schema$Message; + /** + * Output only. The result of the agent transfer expectation. + */ + observedAgentTransfer?: Schema$AgentTransfer; + /** + * Output only. The result of the tool call expectation. + */ + observedToolCall?: Schema$ToolCall; + /** + * Output only. The result of the tool response expectation. + */ + observedToolResponse?: Schema$ToolResponse; + /** + * Output only. The outcome of the expectation. + */ + outcome?: string | null; + /** + * Output only. The result of the semantic similarity check. + */ + semanticSimilarityResult?: Schema$EvaluationResultSemanticSimilarityResult; + /** + * Output only. The result of the tool invocation check. + */ + toolInvocationResult?: Schema$EvaluationResultGoldenExpectationOutcomeToolInvocationResult; + } + /** + * The result of the tool invocation check. + */ + export interface Schema$EvaluationResultGoldenExpectationOutcomeToolInvocationResult { + /** + * Output only. A free text explanation for the tool invocation result. + */ + explanation?: string | null; + /** + * Output only. The outcome of the tool invocation check. This is determined by comparing the parameter_correctness_score to the threshold. If the score is equal to or above the threshold, the outcome will be PASS. Otherwise, the outcome will be FAIL. + */ + outcome?: string | null; + /** + * Output only. The tool invocation parameter correctness score. This indicates the percent of parameters from the expected tool call that were also present in the actual tool call. + */ + parameterCorrectnessScore?: number | null; + } + /** + * The result of a golden evaluation. + */ + export interface Schema$EvaluationResultGoldenResult { + /** + * Output only. The results of the evaluation expectations. + */ + evaluationExpectationResults?: Schema$EvaluationResultEvaluationExpectationResult[]; + /** + * Output only. The result of running each turn of the golden conversation. + */ + turnReplayResults?: Schema$EvaluationResultGoldenResultTurnReplayResult[]; + } + /** + * The result of running a single turn of the golden conversation. + */ + export interface Schema$EvaluationResultGoldenResultTurnReplayResult { + /** + * Output only. The conversation that was generated for this turn. + */ + conversation?: string | null; + /** + * Output only. Information about the error that occurred during this turn. + */ + errorInfo?: Schema$EvaluationErrorInfo; + /** + * Output only. The outcome of each expectation. + */ + expectationOutcome?: Schema$EvaluationResultGoldenExpectationOutcome[]; + /** + * Output only. The result of the hallucination check. + */ + hallucinationResult?: Schema$EvaluationResultHallucinationResult; + /** + * Output only. The result of the overall tool invocation check. + */ + overallToolInvocationResult?: Schema$EvaluationResultOverallToolInvocationResult; + /** + * Output only. The result of the semantic similarity check. + */ + semanticSimilarityResult?: Schema$EvaluationResultSemanticSimilarityResult; + /** + * Output only. The latency of spans in the turn. + */ + spanLatencies?: Schema$EvaluationResultSpanLatency[]; + /** + * Output only. The latency of each tool call in the turn. + */ + toolCallLatencies?: Schema$EvaluationResultToolCallLatency[]; + /** + * Output only. Deprecated. Use OverallToolInvocationResult instead. + */ + toolInvocationScore?: number | null; + /** + * Output only. The overall tool ordered invocation score for this turn. This indicates the overall percent of tools from the expected turn that were actually invoked in the expected order. + */ + toolOrderedInvocationScore?: number | null; + /** + * Output only. Duration of the turn. + */ + turnLatency?: string | null; + } + /** + * The result of the hallucination check for a single turn. + */ + export interface Schema$EvaluationResultHallucinationResult { + /** + * Output only. The explanation for the hallucination score. + */ + explanation?: string | null; + /** + * Output only. The label associated with each score. Score 1: Justified Score 0: Not Justified Score -1: No Claim To Assess + */ + label?: string | null; + /** + * Output only. The hallucination score. Can be -1, 0, 1. + */ + score?: number | null; + } + /** + * The result of the overall tool invocation check. + */ + export interface Schema$EvaluationResultOverallToolInvocationResult { + /** + * Output only. The outcome of the tool invocation check. This is determined by comparing the tool_invocation_score to the overall_tool_invocation_correctness_threshold. If the score is equal to or above the threshold, the outcome will be PASS. Otherwise, the outcome will be FAIL. + */ + outcome?: string | null; + /** + * The overall tool invocation score for this turn. This indicates the overall percent of tools from the expected turn that were actually invoked. + */ + toolInvocationScore?: number | null; + } + /** + * The outcome of a scenario expectation. + */ + export interface Schema$EvaluationResultScenarioExpectationOutcome { + /** + * Output only. The expectation that was evaluated. + */ + expectation?: Schema$EvaluationScenarioExpectation; + /** + * Output only. The observed agent response. + */ + observedAgentResponse?: Schema$Message; + /** + * Output only. The observed tool call. + */ + observedToolCall?: Schema$EvaluationResultScenarioExpectationOutcomeObservedToolCall; + /** + * Output only. The outcome of the ScenarioExpectation. + */ + outcome?: string | null; + } + /** + * The observed tool call and response. + */ + export interface Schema$EvaluationResultScenarioExpectationOutcomeObservedToolCall { + /** + * Output only. The observed tool call. + */ + toolCall?: Schema$ToolCall; + /** + * Output only. The observed tool response. + */ + toolResponse?: Schema$ToolResponse; + } + /** + * The outcome of a scenario evaluation. + */ + export interface Schema$EvaluationResultScenarioResult { + /** + * Output only. Whether all expectations were satisfied for this turn. + */ + allExpectationsSatisfied?: boolean | null; + /** + * Output only. The conversation that was generated in the scenario. + */ + conversation?: string | null; + /** + * Output only. The results of the evaluation expectations. + */ + evaluationExpectationResults?: Schema$EvaluationResultEvaluationExpectationResult[]; + /** + * Output only. The outcome of each expectation. + */ + expectationOutcomes?: Schema$EvaluationResultScenarioExpectationOutcome[]; + /** + * Output only. The result of the hallucination check. There will be one hallucination result for each turn in the conversation. + */ + hallucinationResult?: Schema$EvaluationResultHallucinationResult[]; + /** + * Output only. The outcome of the rubric. + */ + rubricOutcomes?: Schema$EvaluationResultScenarioRubricOutcome[]; + /** + * Output only. The latency of spans in the conversation. + */ + spanLatencies?: Schema$EvaluationResultSpanLatency[]; + /** + * Output only. The task that was used when running the scenario for this result. + */ + task?: string | null; + /** + * Output only. Whether the task was completed for this turn. This is a composite of all expectations satisfied, no hallucinations, and user goal satisfaction. + */ + taskCompleted?: boolean | null; + /** + * Output only. The result of the task completion check. + */ + taskCompletionResult?: Schema$EvaluationResultTaskCompletionResult; + /** + * Output only. The latency of each tool call execution in the conversation. + */ + toolCallLatencies?: Schema$EvaluationResultToolCallLatency[]; + /** + * Output only. The user facts that were used by the scenario for this result. + */ + userFacts?: Schema$EvaluationScenarioUserFact[]; + /** + * Output only. The result of the user goal satisfaction check. + */ + userGoalSatisfactionResult?: Schema$EvaluationResultUserGoalSatisfactionResult; + } + /** + * The outcome of the evaluation against the rubric. + */ + export interface Schema$EvaluationResultScenarioRubricOutcome { + /** + * Output only. The rubric that was used to evaluate the conversation. + */ + rubric?: string | null; + /** + * Output only. The score of the conversation against the rubric. + */ + score?: number | null; + /** + * Output only. The rater's response to the rubric. + */ + scoreExplanation?: string | null; + } + /** + * The result of the semantic similarity check. + */ + export interface Schema$EvaluationResultSemanticSimilarityResult { + /** + * Output only. The explanation for the semantic similarity score. + */ + explanation?: string | null; + /** + * Output only. The label associated with each score. Score 4: Fully Consistent Score 3: Mostly Consistent Score 2: Partially Consistent (Minor Omissions) Score 1: Largely Inconsistent (Major Omissions) Score 0: Completely Inconsistent / Contradictory + */ + label?: string | null; + /** + * Output only. The outcome of the semantic similarity check. This is determined by comparing the score to the semantic_similarity_success_threshold. If the score is equal to or above the threshold, the outcome will be PASS. Otherwise, the outcome will be FAIL. + */ + outcome?: string | null; + /** + * Output only. The semantic similarity score. Can be 0, 1, 2, 3, or 4. + */ + score?: number | null; + } + /** + * The latency of a span execution. + */ + export interface Schema$EvaluationResultSpanLatency { + /** + * Output only. The name of the user callback span. + */ + callback?: string | null; + /** + * Output only. The display name of the span. Applicable to tool and guardrail spans. + */ + displayName?: string | null; + /** + * Output only. The end time of span. + */ + endTime?: string | null; + /** + * Output only. The latency of span. + */ + executionLatency?: string | null; + /** + * Output only. The name of the LLM span. + */ + model?: string | null; + /** + * Output only. The resource name of the guardrail or tool spans. + */ + resource?: string | null; + /** + * Output only. The start time of span. + */ + startTime?: string | null; + /** + * Output only. The toolset tool identifier. + */ + toolset?: Schema$ToolsetTool; + /** + * Output only. The type of span. + */ + type?: string | null; + } + /** + * The result of the task completion check for the conversation. + */ + export interface Schema$EvaluationResultTaskCompletionResult { + /** + * Output only. The explanation for the task completion score. + */ + explanation?: string | null; + /** + * Output only. The label associated with each score. Score 1: Task Completed Score 0: Task Not Completed Score -1: User Goal Undefined + */ + label?: string | null; + /** + * Output only. The task completion score. Can be -1, 0, 1 + */ + score?: number | null; + } + /** + * The latency of a tool call execution. + */ + export interface Schema$EvaluationResultToolCallLatency { + /** + * Output only. The display name of the tool. + */ + displayName?: string | null; + /** + * Output only. The end time of the tool call execution. + */ + endTime?: string | null; + /** + * Output only. The latency of the tool call execution. + */ + executionLatency?: string | null; + /** + * Output only. The start time of the tool call execution. + */ + startTime?: string | null; + /** + * Output only. The name of the tool that got executed. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}`. + */ + tool?: string | null; + } + /** + * The result of a user goal satisfaction check for a conversation. + */ + export interface Schema$EvaluationResultUserGoalSatisfactionResult { + /** + * Output only. The explanation for the user task satisfaction score. + */ + explanation?: string | null; + /** + * Output only. The label associated with each score. Score 1: User Task Satisfied Score 0: User Task Not Satisfied Score -1: User Task Unspecified + */ + label?: string | null; + /** + * Output only. The user task satisfaction score. Can be -1, 0, 1. + */ + score?: number | null; + } + /** + * An evaluation run represents an all the evaluation results from an evaluation execution. + */ + export interface Schema$EvaluationRun { + /** + * Output only. The app version to evaluate. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + appVersion?: string | null; + /** + * Output only. The display name of the `app_version` that the evaluation ran against. + */ + appVersionDisplayName?: string | null; + /** + * Output only. The changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft. + */ + changelog?: string | null; + /** + * Output only. The create time of the changelog of the app version that the evaluation ran against. This is populated if user runs evaluation on latest/draft. + */ + changelogCreateTime?: string | null; + /** + * Output only. The configuration used in the run. + */ + config?: Schema$EvaluationConfig; + /** + * Output only. Timestamp when the evaluation run was created. + */ + createTime?: string | null; + /** + * Optional. User-defined display name of the evaluation run. default: " run - ". + */ + displayName?: string | null; + /** + * Output only. Deprecated: Use error_info instead. Errors encountered during execution. + */ + error?: Schema$Status; + /** + * Output only. Error information for the evaluation run. + */ + errorInfo?: Schema$EvaluationErrorInfo; + /** + * Output only. The evaluation dataset that this run is associated with. This field is mutually exclusive with `evaluations`. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationDatasets/{evaluationDataset\}` + */ + evaluationDataset?: string | null; + /** + * Output only. The evaluation results that are part of this run. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}/results/{result\}` + */ + evaluationResults?: string[] | null; + /** + * Output only. Map of evaluation name to EvaluationRunSummary. + */ + evaluationRunSummaries?: { + [key: string]: Schema$EvaluationRunEvaluationRunSummary; + } | null; + /** + * Output only. The evaluations that are part of this run. The list may contain evaluations of either type. This field is mutually exclusive with `evaluation_dataset`. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}` + */ + evaluations?: string[] | null; + /** + * Output only. The type of the evaluations in this run. + */ + evaluationType?: string | null; + /** + * Output only. The method used to run the evaluation. + */ + goldenRunMethod?: string | null; + /** + * Output only. The user who initiated the evaluation run. + */ + initiatedBy?: string | null; + /** + * Output only. Latency report for the evaluation run. + */ + latencyReport?: Schema$LatencyReport; + /** + * Identifier. The unique identifier of the evaluation run. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationRuns/{evaluationRun\}` + */ + name?: string | null; + /** + * Optional. Configuration for running the optimization step after the evaluation run. If not set, the optimization step will not be run. + */ + optimizationConfig?: Schema$OptimizationConfig; + /** + * Output only. The configuration to use for the run per persona. + */ + personaRunConfigs?: Schema$PersonaRunConfig[]; + /** + * Output only. The progress of the evaluation run. + */ + progress?: Schema$EvaluationRunProgress; + /** + * Output only. The number of times the evaluations inside the run were run. + */ + runCount?: number | null; + /** + * Output only. The scheduled evaluation run resource name that created this evaluation run. This field is only set if the evaluation run was created by a scheduled evaluation run. Format: `projects/{project\}/locations/{location\}/apps/{app\}/scheduledEvaluationRuns/{scheduled_evaluation_run\}` + */ + scheduledEvaluationRun?: string | null; + /** + * Output only. The state of the evaluation run. + */ + state?: string | null; + } + /** + * Contains the summary of passed and failed result counts for a specific evaluation in an evaluation run. + */ + export interface Schema$EvaluationRunEvaluationRunSummary { + /** + * Output only. Number of error results for the associated Evaluation in this run. + */ + errorCount?: number | null; + /** + * Output only. Number of failed results for the associated Evaluation in this run. + */ + failedCount?: number | null; + /** + * Output only. Number of passed results for the associated Evaluation in this run. + */ + passedCount?: number | null; + } + /** + * The progress of the evaluation run. + */ + export interface Schema$EvaluationRunProgress { + /** + * Output only. Number of evaluation results that finished successfully. (EvaluationResult.execution_state is COMPLETED). + */ + completedCount?: number | null; + /** + * Output only. Number of evaluation results that failed to execute. (EvaluationResult.execution_state is ERROR). + */ + errorCount?: number | null; + /** + * Output only. Number of completed evaluation results with an outcome of FAIL. (EvaluationResult.execution_state is COMPLETED and EvaluationResult.evaluation_status is FAIL). + */ + failedCount?: number | null; + /** + * Output only. Number of completed evaluation results with an outcome of PASS. (EvaluationResult.execution_state is COMPLETED and EvaluationResult.evaluation_status is PASS). + */ + passedCount?: number | null; + /** + * Output only. Total number of evaluation results in this run. + */ + totalCount?: number | null; + } + /** + * The config for a scenario + */ + export interface Schema$EvaluationScenario { + /** + * Optional. The evaluation expectations to evaluate the conversation produced by the simulation against. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationExpectations/{evaluationExpectation\}` + */ + evaluationExpectations?: string[] | null; + /** + * Optional. The maximum number of turns to simulate. If not specified, the simulation will continue until the task is complete. + */ + maxTurns?: number | null; + /** + * Required. The rubrics to score the scenario against. + */ + rubrics?: string[] | null; + /** + * Required. The ScenarioExpectations to evaluate the conversation produced by the user simulation. + */ + scenarioExpectations?: Schema$EvaluationScenarioExpectation[]; + /** + * Required. The task to be targeted by the scenario. + */ + task?: string | null; + /** + * Optional. Deprecated. Use user_goal_behavior instead. + */ + taskCompletionBehavior?: string | null; + /** + * Optional. The user facts to be used by the scenario. + */ + userFacts?: Schema$EvaluationScenarioUserFact[]; + /** + * Optional. The expected behavior of the user goal. + */ + userGoalBehavior?: string | null; + /** + * Optional. Variables / Session Parameters as context for the session, keyed by variable names. Members of this struct will override any default values set by the system. Note, these are different from user facts, which are facts known to the user. Variables are parameters known to the agent: i.e. MDN (phone number) passed by the telephony system. + */ + variableOverrides?: {[key: string]: any} | null; + } + /** + * The expectation to evaluate the conversation produced by the simulation. + */ + export interface Schema$EvaluationScenarioExpectation { + /** + * Optional. The agent response to be evaluated. + */ + agentResponse?: Schema$Message; + /** + * Optional. The tool call and response pair to be evaluated. + */ + toolExpectation?: Schema$EvaluationScenarioExpectationToolExpectation; + } + /** + * The tool call and response pair to be evaluated. + */ + export interface Schema$EvaluationScenarioExpectationToolExpectation { + /** + * Required. The expected tool call, with the parameters of interest specified. Any parameters not specified will be hallucinated by the LLM. + */ + expectedToolCall?: Schema$ToolCall; + /** + * Required. The tool response to mock, with the parameters of interest specified. Any parameters not specified will be hallucinated by the LLM. + */ + mockToolResponse?: Schema$ToolResponse; + } + /** + * Facts about the user as a key value pair. + */ + export interface Schema$EvaluationScenarioUserFact { + /** + * Required. The name of the user fact. + */ + name?: string | null; + /** + * Required. The value of the user fact. + */ + value?: string | null; + } + /** + * Settings for evaluation. + */ + export interface Schema$EvaluationSettings { + /** + * Optional. Configures the default tool call behaviour for golden evaluations. + */ + goldenEvaluationToolCallBehaviour?: string | null; + /** + * Optional. The default method used to run golden evaluations. This will be used if no golden_run_method is specified in the RunEvaluationRequest. + */ + goldenRunMethod?: string | null; + /** + * Optional. Who starts the conversation in a scenario evaluation. + */ + scenarioConversationInitiator?: string | null; + /** + * Optional. Configures the default tool call behaviour for scenario evaluations. + */ + scenarioEvaluationToolCallBehaviour?: string | null; + } + /** + * A step defines a singular action to happen during the evaluation. + */ + export interface Schema$EvaluationStep { + /** + * Optional. Transfer the conversation to a different agent. + */ + agentTransfer?: Schema$AgentTransfer; + /** + * Optional. Executes an expectation on the current turn. + */ + expectation?: Schema$EvaluationGoldenExpectation; + /** + * Optional. User input for the conversation. + */ + userInput?: Schema$SessionInput; + } + /** + * Event input. + */ + export interface Schema$Event { + /** + * Required. The name of the event. + */ + event?: string | null; + } + /** + * An example represents a sample conversation between the user and the agent(s). + */ + export interface Schema$Example { + /** + * Output only. Timestamp when the example was created. + */ + createTime?: string | null; + /** + * Optional. Human-readable description of the example. + */ + description?: string | null; + /** + * Required. Display name of the example. + */ + displayName?: string | null; + /** + * Optional. The agent that initially handles the conversation. If not specified, the example represents a conversation that is handled by the root agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + entryAgent?: string | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Output only. The example may become invalid if referencing resources are deleted. Invalid examples will not be used as few-shot examples. + */ + invalid?: boolean | null; + /** + * Optional. The collection of messages that make up the conversation. + */ + messages?: Schema$Message[]; + /** + * Identifier. The unique identifier of the example. Format: `projects/{project\}/locations/{location\}/apps/{app\}/examples/{example\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the example was last updated. + */ + updateTime?: string | null; + } + /** + * Request message for ToolService.ExecuteTool. + */ + export interface Schema$ExecuteToolRequest { + /** + * Optional. The input parameters and values for the tool in JSON object format. + */ + args?: {[key: string]: any} | null; + /** + * Optional. The name of the tool to execute. Format: projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\} + */ + tool?: string | null; + /** + * Optional. The toolset tool to execute. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Response message for ToolService.ExecuteTool. + */ + export interface Schema$ExecuteToolResponse { + /** + * Required. The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result. + */ + response?: {[key: string]: any} | null; + /** + * The name of the tool that got executed. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * The toolset tool that got executed. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Request message for AgentService.ExportApp. + */ + export interface Schema$ExportAppRequest { + /** + * Required. The format to export the app in. + */ + exportFormat?: string | null; + /** + * Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which to export the app. The format of this URI must be `gs:///`. The exported app archive will be written directly to the specified GCS object. + */ + gcsUri?: string | null; + } + /** + * Response message for AgentService.ExportApp. + */ + export interface Schema$ExportAppResponse { + /** + * App folder compressed as a zip file. + */ + appContent?: string | null; + /** + * The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to which the app was exported. + */ + appUri?: string | null; + } + /** + * Expression condition based on session state. + */ + export interface Schema$ExpressionCondition { + /** + * Required. The string representation of cloud.api.Expression condition. + */ + expression?: string | null; + } + /** + * The file search tool allows the agent to search across the files uploaded by the app/agent developer. It has presets to give relatively good quality search over the uploaded files and summarization of the retrieved results. + */ + export interface Schema$FileSearchTool { + /** + * Optional. The type of the corpus. Default is FULLY_MANAGED. + */ + corpusType?: string | null; + /** + * Optional. The tool description. + */ + description?: string | null; + /** + * Optional. The corpus where files are stored. Format: projects/{project\}/locations/{location\}/ragCorpora/{rag_corpus\} + */ + fileCorpus?: string | null; + /** + * Required. The tool name. + */ + name?: string | null; + } + /** + * Response message for AgentService.GenerateAppResource. + */ + export interface Schema$GenerateAppResourceResponse { + /** + * Agent generated by the LLM assistant. + */ + agent?: Schema$Agent; + /** + * The app resources generated by the LLM assistant. + */ + appResources?: Schema$GenerateAppResourceResponseAppResources; + /** + * App snapshot generated by the LLM assistant. This snapshot contains the app, agents & tools generated by the LLM assistant. + */ + appSnapshot?: Schema$AppSnapshot; + /** + * Evaluations generated by the LLM assistant. + */ + evaluations?: Schema$GenerateAppResourceResponseEvaluations; + /** + * Additional information about the generated result. + */ + generateResultInfo?: Schema$GenerateAppResourceResponseGenerateResultInfo; + /** + * The list of tools generated by the LLM assistant. + */ + tools?: Schema$GenerateAppResourceResponseTools; + /** + * Toolset generated by the LLM assistant. Supports Open API toolset schema generation. + */ + toolset?: Schema$Toolset; + } + /** + * The list of app resources generated by the LLM assistant. + */ + export interface Schema$GenerateAppResourceResponseAppResources { + /** + * The app snapshot generated by the LLM assistant. This snapshot contains the app, agents & tools generated by the LLM assistant. + */ + appSnapshot?: Schema$AppSnapshot; + /** + * The list of evaluations generated by the LLM assistant. + */ + evaluations?: Schema$Evaluation[]; + } + /** + * The list of evaluations generated by the LLM assistant. + */ + export interface Schema$GenerateAppResourceResponseEvaluations { + /** + * The list of generated evaluations. + */ + evaluations?: Schema$Evaluation[]; + } + /** + * This provides additional information about the generated result. + */ + export interface Schema$GenerateAppResourceResponseGenerateResultInfo { + /** + * An explanation of the changes in the generated resource. + */ + explanation?: string | null; + } + /** + * The list of tools generated by the LLM assistant. + */ + export interface Schema$GenerateAppResourceResponseTools { + /** + * The list of tools generated by the LLM assistant. + */ + tools?: Schema$Tool[]; + } + /** + * Request message for WidgetService.GenerateChatToken. + */ + export interface Schema$GenerateChatTokenRequest { + /** + * Required. The deployment of the app to use for the session. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + */ + deployment?: string | null; + /** + * Optional. The reCAPTCHA token generated by the client-side chat widget. + */ + recaptchaToken?: string | null; + } + /** + * Response message for WidgetService.GenerateChatToken. + */ + export interface Schema$GenerateChatTokenResponse { + /** + * The session scoped token for chat widget to authenticate with Session APIs. + */ + chatToken?: string | null; + /** + * The time at which the chat token expires. + */ + expireTime?: string | null; + } + /** + * Operation metadata for EvaluationService.GenerateEvaluation. + */ + export interface Schema$GenerateEvaluationOperationMetadata {} + /** + * Request message for EvaluationService.GenerateEvaluation. + */ + export interface Schema$GenerateEvaluationRequest { + /** + * Optional. Indicate the source of the conversation. If not set, all sources will be searched. + */ + source?: string | null; + } + /** + * Search suggestions from Google Search Tool. + */ + export interface Schema$GoogleSearchSuggestions { + /** + * Compliant HTML and CSS styling for search suggestions. The provided HTML and CSS automatically adapts to your device settings, displaying in either light or dark mode indicated by `@media(prefers-color-scheme)`. + */ + htmls?: string[] | null; + /** + * List of queries used to perform the google search along with the search result URIs forming the search suggestions. + */ + webSearchQueries?: Schema$WebSearchQuery[]; + } + /** + * Represents a tool to perform Google web searches for grounding. See https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search. + */ + export interface Schema$GoogleSearchTool { + /** + * Optional. Content will be fetched directly from these URLs for context and grounding. Example: "https://example.com/path.html". A maximum of 20 URLs are allowed. + */ + contextUrls?: string[] | null; + /** + * Optional. Description of the tool's purpose. + */ + description?: string | null; + /** + * Optional. List of domains to be excluded from the search results. Example: "example.com". A maximum of 2000 domains can be excluded. + */ + excludeDomains?: string[] | null; + /** + * Required. The name of the tool. + */ + name?: string | null; + /** + * Optional. Specifies domains to restrict search results to. Example: "example.com", "another.site". A maximum of 20 domains can be specified. + */ + preferredDomains?: string[] | null; + } + /** + * Guardrail contains a list of checks and balances to keep the agents safe and secure. + */ + export interface Schema$Guardrail { + /** + * Optional. Action to take when the guardrail is triggered. + */ + action?: Schema$TriggerAction; + /** + * Optional. Guardrail that potentially blocks the conversation based on the result of the callback execution. + */ + codeCallback?: Schema$GuardrailCodeCallback; + /** + * Optional. Guardrail that bans certain content from being used in the conversation. + */ + contentFilter?: Schema$GuardrailContentFilter; + /** + * Output only. Timestamp when the guardrail was created. + */ + createTime?: string | null; + /** + * Optional. Description of the guardrail. + */ + description?: string | null; + /** + * Required. Display name of the guardrail. + */ + displayName?: string | null; + /** + * Optional. Whether the guardrail is enabled. + */ + enabled?: boolean | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification. + */ + llmPolicy?: Schema$GuardrailLlmPolicy; + /** + * Optional. Guardrail that blocks the conversation if the prompt is considered unsafe based on the LLM classification. + */ + llmPromptSecurity?: Schema$GuardrailLlmPromptSecurity; + /** + * Optional. Guardrail that blocks the conversation if the LLM response is considered unsafe based on the model safety settings. + */ + modelSafety?: Schema$GuardrailModelSafety; + /** + * Identifier. The unique identifier of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the guardrail was last updated. + */ + updateTime?: string | null; + } + /** + * Guardrail that blocks the conversation based on the code callbacks provided. + */ + export interface Schema$GuardrailCodeCallback { + /** + * Optional. The callback to execute after the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + afterAgentCallback?: Schema$Callback; + /** + * Optional. The callback to execute after the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + afterModelCallback?: Schema$Callback; + /** + * Optional. The callback to execute before the agent is called. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + beforeAgentCallback?: Schema$Callback; + /** + * Optional. The callback to execute before the model is called. If there are multiple calls to the model, the callback will be executed multiple times. Each callback function is expected to return a structure (e.g., a dict or object) containing at least: - 'decision': Either 'OK' or 'TRIGGER'. - 'reason': A string explaining the decision. A 'TRIGGER' decision may halt further processing. + */ + beforeModelCallback?: Schema$Callback; + } + /** + * Guardrail that bans certain content from being used in the conversation. + */ + export interface Schema$GuardrailContentFilter { + /** + * Optional. List of banned phrases. Applies to both user inputs and agent responses. + */ + bannedContents?: string[] | null; + /** + * Optional. List of banned phrases. Applies only to agent responses. + */ + bannedContentsInAgentResponse?: string[] | null; + /** + * Optional. List of banned phrases. Applies only to user inputs. + */ + bannedContentsInUserInput?: string[] | null; + /** + * Optional. If true, diacritics are ignored during matching. + */ + disregardDiacritics?: boolean | null; + /** + * Required. Match type for the content filter. + */ + matchType?: string | null; + } + /** + * Guardrail that blocks the conversation if the LLM response is considered violating the policy based on the LLM classification. + */ + export interface Schema$GuardrailLlmPolicy { + /** + * Optional. By default, the LLM policy check is bypassed for short utterances. Enabling this setting applies the policy check to all utterances, including those that would normally be skipped. + */ + allowShortUtterance?: boolean | null; + /** + * Optional. If an error occurs during the policy check, fail open and do not trigger the guardrail. + */ + failOpen?: boolean | null; + /** + * Optional. When checking this policy, consider the last 'n' messages in the conversation. When not set a default value of 10 will be used. + */ + maxConversationMessages?: number | null; + /** + * Optional. Model settings. + */ + modelSettings?: Schema$ModelSettings; + /** + * Required. Defines when to apply the policy check during the conversation. If set to `POLICY_SCOPE_UNSPECIFIED`, the policy will be applied to the user input. When applying the policy to the agent response, additional latency will be introduced before the agent can respond. + */ + policyScope?: string | null; + /** + * Required. Policy prompt. + */ + prompt?: string | null; + } + /** + * Guardrail that blocks the conversation if the input is considered unsafe based on the LLM classification. + */ + export interface Schema$GuardrailLlmPromptSecurity { + /** + * Optional. Use a user-defined LlmPolicy to configure the security guardrail. + */ + customPolicy?: Schema$GuardrailLlmPolicy; + /** + * Optional. Use the system's predefined default security settings. To select this mode, include an empty 'default_settings' message in the request. The 'default_prompt_template' field within will be populated by the server in the response. + */ + defaultSettings?: Schema$GuardrailLlmPromptSecurityDefaultSecuritySettings; + /** + * Optional. Determines the behavior when the guardrail encounters an LLM error. - If true: the guardrail is bypassed. - If false (default): the guardrail triggers/blocks. Note: If a custom policy is provided, this field is ignored in favor of the policy's 'fail_open' configuration. + */ + failOpen?: boolean | null; + } + /** + * Configuration for default system security settings. + */ + export interface Schema$GuardrailLlmPromptSecurityDefaultSecuritySettings { + /** + * Output only. The default prompt template used by the system. This field is for display purposes to show the user what prompt the system uses by default. It is OUTPUT_ONLY. + */ + defaultPromptTemplate?: string | null; + } + /** + * Model safety settings overrides. When this is set, it will override the default settings and trigger the guardrail if the response is considered unsafe. + */ + export interface Schema$GuardrailModelSafety { + /** + * Required. List of safety settings. + */ + safetySettings?: Schema$GuardrailModelSafetySafetySetting[]; + } + /** + * Safety setting. + */ + export interface Schema$GuardrailModelSafetySafetySetting { + /** + * Required. The harm category. + */ + category?: string | null; + /** + * Required. The harm block threshold. + */ + threshold?: string | null; + } + /** + * Represents an image input or output in the conversation. + */ + export interface Schema$Image { + /** + * Required. Raw bytes of the image. + */ + data?: string | null; + /** + * Required. The IANA standard MIME type of the source data. Supported image types includes: * image/png * image/jpeg * image/webp + */ + mimeType?: string | null; + } + /** + * Request message for AgentService.ImportApp. + */ + export interface Schema$ImportAppRequest { + /** + * Raw bytes representing the compressed zip file with the app folder structure. + */ + appContent?: string | null; + /** + * Optional. The ID to use for the imported app. * If not specified, a unique ID will be automatically assigned for the app. * Otherwise, the imported app will use this ID as the final component of its resource name. If an app with the same ID already exists at the specified location in the project, the content of the existing app will be replaced. + */ + appId?: string | null; + /** + * Optional. The display name of the app to import. * If the app is created on import, and the display name is specified, the imported app will use this display name. If a conflict is detected with an existing app, a timestamp will be appended to the display name to make it unique. * If the app is a reimport, this field should not be set. Providing a display name during reimport will result in an INVALID_ARGUMENT error. + */ + displayName?: string | null; + /** + * The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI from which to import app. The format of this URI must be `gs:///`. + */ + gcsUri?: string | null; + /** + * Optional. Options governing the import process for the app. + */ + importOptions?: Schema$ImportAppRequestImportOptions; + } + /** + * Configuration options for the app import process. These options control how the import behaves, particularly when conflicts arise with existing app data. + */ + export interface Schema$ImportAppRequestImportOptions { + /** + * Optional. The strategy to use when resolving conflicts during import. + */ + conflictResolutionStrategy?: string | null; + } + /** + * Response message for AgentService.ImportApp. + */ + export interface Schema$ImportAppResponse { + /** + * The resource name of the app that was imported. + */ + name?: string | null; + /** + * Warning messages generated during the import process. If errors occur for specific resources, they will not be included in the imported app and the error will be mentioned here. + */ + warnings?: string[] | null; + } + /** + * Represents the metadata of the long-running operation for EvaluationService.ImportEvaluations. + */ + export interface Schema$ImportEvaluationsOperationMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + } + /** + * Request message for EvaluationService.ImportEvaluations. + */ + export interface Schema$ImportEvaluationsRequest { + /** + * The conversations to import the evaluations from. + */ + conversationList?: Schema$ImportEvaluationsRequestConversationList; + /** + * Raw bytes representing the csv file with the evaluations structure. + */ + csvContent?: string | null; + /** + * The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI from which to import evaluations. The format of this URI must be `gs:///`. + */ + gcsUri?: string | null; + /** + * Optional. Options governing the import process for the evaluations. + */ + importOptions?: Schema$ImportEvaluationsRequestImportOptions; + } + /** + * A list of conversation resource names. + */ + export interface Schema$ImportEvaluationsRequestConversationList { + /** + * Optional. Conversation resource names. + */ + conversations?: string[] | null; + } + /** + * Configuration options for the evaluation import process. These options control how the import behaves, particularly when conflicts arise with existing evaluations data. + */ + export interface Schema$ImportEvaluationsRequestImportOptions { + /** + * Optional. The strategy to use when resolving conflicts during import. + */ + conflictResolutionStrategy?: string | null; + } + /** + * Response message for EvaluationService.ImportEvaluations. + */ + export interface Schema$ImportEvaluationsResponse { + /** + * Optional. A list of error messages associated with evaluations that failed to be imported. + */ + errorMessages?: string[] | null; + /** + * The list of evaluations that were imported into the app. + */ + evaluations?: Schema$Evaluation[]; + /** + * The number of evaluations that were not imported due to errors. + */ + importFailureCount?: number | null; + } + /** + * InputAudioConfig configures how the CES agent should interpret the incoming audio data. + */ + export interface Schema$InputAudioConfig { + /** + * Required. The encoding of the input audio data. + */ + audioEncoding?: string | null; + /** + * Optional. Whether to enable noise suppression on the input audio. Available values are "low", "moderate", "high", "very_high". + */ + noiseSuppressionLevel?: string | null; + /** + * Required. The sample rate (in Hertz) of the input audio data. + */ + sampleRateHertz?: number | null; + } + /** + * Language settings of the app. + */ + export interface Schema$LanguageSettings { + /** + * Optional. The default language code of the app. + */ + defaultLanguageCode?: string | null; + /** + * Optional. Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input. + */ + enableMultilingualSupport?: boolean | null; + /** + * Optional. The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are: - A tool's full resource name, which triggers a specific tool execution. - A predefined system action, such as "escalate" or "exit", which triggers an EndSession signal with corresponding metadata to terminate the conversation. + */ + fallbackAction?: string | null; + /** + * Optional. List of languages codes supported by the app, in addition to the `default_language_code`. + */ + supportedLanguageCodes?: string[] | null; + } + /** + * Latency report for the evaluation run. + */ + export interface Schema$LatencyReport { + /** + * Output only. Unordered list. Latency metrics for each callback. + */ + callbackLatencies?: Schema$LatencyReportCallbackLatency[]; + /** + * Output only. Unordered list. Latency metrics for each guardrail. + */ + guardrailLatencies?: Schema$LatencyReportGuardrailLatency[]; + /** + * Output only. Unordered list. Latency metrics for each LLM call. + */ + llmCallLatencies?: Schema$LatencyReportLlmCallLatency[]; + /** + * Output only. The total number of sessions considered in the latency report. + */ + sessionCount?: number | null; + /** + * Output only. Unordered list. Latency metrics for each tool. + */ + toolLatencies?: Schema$LatencyReportToolLatency[]; + } + /** + * Latency metrics for a single callback. + */ + export interface Schema$LatencyReportCallbackLatency { + /** + * Output only. The latency metrics for the callback. + */ + latencyMetrics?: Schema$LatencyReportLatencyMetrics; + /** + * Output only. The stage of the callback. + */ + stage?: string | null; + } + /** + * Latency metrics for a single guardrail. + */ + export interface Schema$LatencyReportGuardrailLatency { + /** + * Output only. The name of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}`. + */ + guardrail?: string | null; + /** + * Output only. The display name of the guardrail. + */ + guardrailDisplayName?: string | null; + /** + * Output only. The latency metrics for the guardrail. + */ + latencyMetrics?: Schema$LatencyReportLatencyMetrics; + } + /** + * Latency metrics for a component. + */ + export interface Schema$LatencyReportLatencyMetrics { + /** + * Output only. The number of times the resource was called. + */ + callCount?: number | null; + /** + * Output only. The 50th percentile latency. + */ + p50Latency?: string | null; + /** + * Output only. The 90th percentile latency. + */ + p90Latency?: string | null; + /** + * Output only. The 99th percentile latency. + */ + p99Latency?: string | null; + } + /** + * Latency metrics for a single LLM call. + */ + export interface Schema$LatencyReportLlmCallLatency { + /** + * Output only. The latency metrics for the LLM call. + */ + latencyMetrics?: Schema$LatencyReportLatencyMetrics; + /** + * Output only. The name of the model. + */ + model?: string | null; + } + /** + * Latency metrics for a single tool. + */ + export interface Schema$LatencyReportToolLatency { + /** + * Output only. The latency metrics for the tool. + */ + latencyMetrics?: Schema$LatencyReportLatencyMetrics; + /** + * Output only. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}`. + */ + tool?: string | null; + /** + * Output only. The display name of the tool. + */ + toolDisplayName?: string | null; + /** + * Output only. The toolset tool identifier. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Response message for AgentService.ListAgents. + */ + export interface Schema$ListAgentsResponse { + /** + * The list of agents. + */ + agents?: Schema$Agent[]; + /** + * A token that can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListApps. + */ + export interface Schema$ListAppsResponse { + /** + * The list of apps. + */ + apps?: Schema$App[]; + /** + * A token that can be sent as ListAppsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Unordered list. Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for AgentService.ListAppVersions. + */ + export interface Schema$ListAppVersionsResponse { + /** + * The list of app versions. + */ + appVersions?: Schema$AppVersion[]; + /** + * A token that can be sent as ListAppVersionsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListChangelogs. + */ + export interface Schema$ListChangelogsResponse { + /** + * The list of changelogs. + */ + changelogs?: Schema$Changelog[]; + /** + * A token that can be sent as ListChangelogsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListConversations. + */ + export interface Schema$ListConversationsResponse { + /** + * The list of conversations. + */ + conversations?: Schema$Conversation[]; + /** + * A token that can be sent as ListConversationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListDeployments. + */ + export interface Schema$ListDeploymentsResponse { + /** + * The list of deployments. + */ + deployments?: Schema$Deployment[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for EvaluationService.ListEvaluationDatasets. + */ + export interface Schema$ListEvaluationDatasetsResponse { + /** + * The list of evaluation datasets. + */ + evaluationDatasets?: Schema$EvaluationDataset[]; + /** + * A token that can be sent as ListEvaluationDatasetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for EvaluationService.ListEvaluationExpectations. + */ + export interface Schema$ListEvaluationExpectationsResponse { + /** + * The list of evaluation expectations. + */ + evaluationExpectations?: Schema$EvaluationExpectation[]; + /** + * A token that can be sent as ListEvaluationExpectationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for EvaluationService.ListEvaluationResults. + */ + export interface Schema$ListEvaluationResultsResponse { + /** + * The list of evaluation results. + */ + evaluationResults?: Schema$EvaluationResult[]; + /** + * A token that can be sent as ListEvaluationResultsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for EvaluationService.ListEvaluationRuns. + */ + export interface Schema$ListEvaluationRunsResponse { + /** + * The list of evaluation runs. + */ + evaluationRuns?: Schema$EvaluationRun[]; + /** + * A token that can be sent as ListEvaluationRunsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for EvaluationService.ListEvaluations. + */ + export interface Schema$ListEvaluationsResponse { + /** + * The list of evaluations. + */ + evaluations?: Schema$Evaluation[]; + /** + * A token that can be sent as ListEvaluationsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListExamples. + */ + export interface Schema$ListExamplesResponse { + /** + * The list of examples. + */ + examples?: Schema$Example[]; + /** + * A token that can be sent as ListExamplesRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for AgentService.ListGuardrails. + */ + export interface Schema$ListGuardrailsResponse { + /** + * The list of guardrails. + */ + guardrails?: Schema$Guardrail[]; + /** + * A token that can be sent as ListGuardrailsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + /** + * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. + */ + unreachable?: string[] | null; + } + /** + * Response message for EvaluationService.ListScheduledEvaluationRuns. + */ + export interface Schema$ListScheduledEvaluationRunsResponse { + /** + * A token that can be sent as ListScheduledEvaluationRunsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of scheduled evaluation runs. + */ + scheduledEvaluationRuns?: Schema$ScheduledEvaluationRun[]; + } + /** + * Response message for AgentService.ListToolsets. + */ + export interface Schema$ListToolsetsResponse { + /** + * A token that can be sent as ListToolsetsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of toolsets. + */ + toolsets?: Schema$Toolset[]; + } + /** + * Response message for AgentService.ListTools. + */ + export interface Schema$ListToolsResponse { + /** + * A token that can be sent as ListToolsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The list of tools. + */ + tools?: Schema$Tool[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * Settings to describe the logging behaviors for the app. + */ + export interface Schema$LoggingSettings { + /** + * Optional. Configuration for how audio interactions should be recorded. + */ + audioRecordingConfig?: Schema$AudioRecordingConfig; + /** + * Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + */ + bigqueryExportSettings?: Schema$BigQueryExportSettings; + /** + * Optional. Settings to describe the Cloud Logging behaviors for the app. + */ + cloudLoggingSettings?: Schema$CloudLoggingSettings; + /** + * Optional. Settings to describe the conversation logging behaviors for the app. + */ + conversationLoggingSettings?: Schema$ConversationLoggingSettings; + /** + * Optional. Configuration for how audio interactions should be recorded for the evaluation. By default, audio recording is not enabled for evaluation sessions. + */ + evaluationAudioRecordingConfig?: Schema$AudioRecordingConfig; + /** + * Optional. Settings to describe the conversation data collection behaviors for the LLM analysis pipeline for the app. + */ + metricAnalysisSettings?: Schema$MetricAnalysisSettings; + /** + * Optional. Configuration for how sensitive data should be redacted. + */ + redactionConfig?: Schema$RedactionConfig; + } + /** + * An MCP tool. See https://modelcontextprotocol.io/specification/2025-06-18/server/tools for more details. + */ + export interface Schema$McpTool { + /** + * Optional. Authentication information required to execute the tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. The description of the MCP tool. + */ + description?: string | null; + /** + * Optional. The schema of the input arguments of the MCP tool. + */ + inputSchema?: Schema$Schema; + /** + * Required. The name of the MCP tool. + */ + name?: string | null; + /** + * Optional. The schema of the output arguments of the MCP tool. + */ + outputSchema?: Schema$Schema; + /** + * Required. The server address of the MCP server, e.g., "https://example.com/mcp/". If the server is built with the MCP SDK, the url should be suffixed with "/mcp/". Only Streamable HTTP transport based servers are supported. This is the same as the server_address in the McpToolset. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details. + */ + serverAddress?: string | null; + /** + * Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates that the client should trust. + */ + tlsConfig?: Schema$TlsConfig; + } + /** + * A toolset that contains a list of tools that are offered by the MCP server. + */ + export interface Schema$McpToolset { + /** + * Optional. Authentication information required to access tools and execute a tool against the MCP server. For bearer token authentication, the token applies only to tool execution, not to listing tools. This requires that tools can be listed without authentication. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Required. The address of the MCP server, for example, "https://example.com/mcp/". If the server is built with the MCP SDK, the url should be suffixed with "/mcp/". Only Streamable HTTP transport based servers are supported. See https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http for more details. + */ + serverAddress?: string | null; + /** + * Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates that the client should trust. + */ + tlsConfig?: Schema$TlsConfig; + } + /** + * A message within a conversation. + */ + export interface Schema$Message { + /** + * Optional. Content of the message as a series of chunks. + */ + chunks?: Schema$Chunk[]; + /** + * Optional. Timestamp when the message was sent or received. Should not be used if the message is part of an example. + */ + eventTime?: string | null; + /** + * Optional. The role within the conversation, e.g., user, agent. + */ + role?: string | null; + } + /** + * Settings to describe the conversation data collection behaviors for LLM analysis metrics pipeline. + */ + export interface Schema$MetricAnalysisSettings { + /** + * Optional. Whether to collect conversation data for llm analysis metrics. If true, conversation data will not be collected for llm analysis metrics; otherwise, conversation data will be collected. + */ + llmMetricsOptedOut?: boolean | null; + } + /** + * Model settings contains various configurations for the LLM model. + */ + export interface Schema$ModelSettings { + /** + * Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent. + */ + model?: string | null; + /** + * Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative. + */ + temperature?: number | null; + } + /** + * Configurations for authentication with OAuth. + */ + export interface Schema$OAuthConfig { + /** + * Required. The client ID from the OAuth provider. + */ + clientId?: string | null; + /** + * Required. The name of the SecretManager secret version resource storing the client secret. Format: `projects/{project\}/secrets/{secret\}/versions/{version\}` Note: You should grant `roles/secretmanager.secretAccessor` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + clientSecretVersion?: string | null; + /** + * Required. OAuth grant types. + */ + oauthGrantType?: string | null; + /** + * Optional. The OAuth scopes to grant. + */ + scopes?: string[] | null; + /** + * Required. The token endpoint in the OAuth provider to exchange for an access token. + */ + tokenEndpoint?: string | null; + } + /** + * Represents an Omnichannel resource. + */ + export interface Schema$Omnichannel { + /** + * Output only. Timestamp when the omnichannel resource was created. + */ + createTime?: string | null; + /** + * Optional. Human-readable description of the omnichannel resource. + */ + description?: string | null; + /** + * Required. Display name of the omnichannel resource. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. + */ + etag?: string | null; + /** + * Optional. The integration config for the omnichannel resource. + */ + integrationConfig?: Schema$OmnichannelIntegrationConfig; + /** + * Identifier. The unique identifier of the omnichannel resource. Format: `projects/{project\}/locations/{location\}/omnichannels/{omnichannel\}` + */ + name?: string | null; + /** + * Output only. Timestamp when the omnichannel resource was last updated. + */ + updateTime?: string | null; + } + /** + * OmnichannelIntegrationConfig contains all App integration configs. + */ + export interface Schema$OmnichannelIntegrationConfig { + /** + * Optional. Various of configuration for handling App events. + */ + channelConfigs?: { + [key: string]: Schema$OmnichannelIntegrationConfigChannelConfig; + } | null; + /** + * Optional. The key of routing_configs is a key of `app_configs`, value is a `RoutingConfig`, which contains subscriber's key. + */ + routingConfigs?: { + [key: string]: Schema$OmnichannelIntegrationConfigRoutingConfig; + } | null; + /** + * Optional. Various of subscribers configs. + */ + subscriberConfigs?: { + [key: string]: Schema$OmnichannelIntegrationConfigSubscriberConfig; + } | null; + } + /** + * Configs for CES app. + */ + export interface Schema$OmnichannelIntegrationConfigCesAppConfig { + /** + * The unique identifier of the CES app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + app?: string | null; + } + /** + * ChannelConfig contains config for various of app integration. + */ + export interface Schema$OmnichannelIntegrationConfigChannelConfig { + /** + * WhatsApp config. + */ + whatsappConfig?: Schema$OmnichannelIntegrationConfigWhatsappConfig; + } + /** + * Routing config specify how/who to route app events to a subscriber. + */ + export interface Schema$OmnichannelIntegrationConfigRoutingConfig { + /** + * The key of the subscriber. + */ + subscriberKey?: string | null; + } + /** + * Configs of subscribers. + */ + export interface Schema$OmnichannelIntegrationConfigSubscriberConfig { + /** + * Ces app config. + */ + cesAppConfig?: Schema$OmnichannelIntegrationConfigCesAppConfig; + } + /** + * How Omnichannel should receive/reply events from WhatsApp. + */ + export interface Schema$OmnichannelIntegrationConfigWhatsappConfig { + /** + * The Meta Business Portfolio (MBP) ID. https://www.facebook.com/business/help/1710077379203657 + */ + metaBusinessPortfolioId?: string | null; + /** + * The phone number used for sending/receiving messages. + */ + phoneNumber?: string | null; + /** + * The Phone Number ID associated with the WhatsApp Business Account. + */ + phoneNumberId?: string | null; + /** + * The verify token configured in the Meta App Dashboard for webhook verification. + */ + webhookVerifyToken?: string | null; + /** + * The customer's WhatsApp Business Account (WABA) ID. + */ + whatsappBusinessAccountId?: string | null; + /** + * The access token for authenticating API calls to the WhatsApp Cloud API. https://developers.facebook.com/docs/whatsapp/business-management-api/get-started/#business-integration-system-user-access-tokens + */ + whatsappBusinessToken?: string | null; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$OmnichannelOperationMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + } + /** + * A remote API tool defined by an OpenAPI schema. + */ + export interface Schema$OpenApiTool { + /** + * Optional. Authentication information required by the API. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. The description of the tool. If not provided, the description of the tool will be derived from the OpenAPI schema, from `operation.description` or `operation.summary`. + */ + description?: string | null; + /** + * Optional. If true, the agent will ignore unknown fields in the API response. + */ + ignoreUnknownFields?: boolean | null; + /** + * Optional. The name of the tool. If not provided, the name of the tool will be derived from the OpenAPI schema, from `operation.operationId`. + */ + name?: string | null; + /** + * Required. The OpenAPI schema in JSON or YAML format. + */ + openApiSchema?: string | null; + /** + * Optional. Service Directory configuration. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates that the client will trust. + */ + tlsConfig?: Schema$TlsConfig; + /** + * Optional. The server URL of the Open API schema. This field is only set in tools in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema. + */ + url?: string | null; + } + /** + * A toolset that contains a list of tools that are defined by an OpenAPI schema. + */ + export interface Schema$OpenApiToolset { + /** + * Optional. Authentication information required by the API. + */ + apiAuthentication?: Schema$ApiAuthentication; + /** + * Optional. If true, the agent will ignore unknown fields in the API response for all operations defined in the OpenAPI schema. + */ + ignoreUnknownFields?: boolean | null; + /** + * Required. The OpenAPI schema of the toolset. + */ + openApiSchema?: string | null; + /** + * Optional. Service Directory configuration. + */ + serviceDirectoryConfig?: Schema$ServiceDirectoryConfig; + /** + * Optional. The TLS configuration. Includes the custom server certificates + */ + tlsConfig?: Schema$TlsConfig; + /** + * Optional. The server URL of the Open API schema. This field is only set in toolsets in the environment dependencies during the export process if the schema contains a server url. During the import process, if this url is present in the environment dependencies and the schema has the $env_var placeholder, it will replace the placeholder in the schema. + */ + url?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + } + /** + * Configuration for running the optimization step after the evaluation run. + */ + export interface Schema$OptimizationConfig { + /** + * Output only. The assistant session to use for the optimization based on this evaluation run. Format: `projects/{project\}/locations/{location\}/apps/{app\}/assistantSessions/{assistantSession\}` + */ + assistantSession?: string | null; + /** + * Output only. The error message if the optimization run failed. + */ + errorMessage?: string | null; + /** + * Optional. Whether to generate a loss report. + */ + generateLossReport?: boolean | null; + /** + * Output only. The generated loss report. + */ + lossReport?: {[key: string]: any} | null; + /** + * Output only. The summary of the loss report. + */ + reportSummary?: string | null; + /** + * Output only. Whether to suggest a fix for the losses. + */ + shouldSuggestFix?: boolean | null; + /** + * Output only. The status of the optimization run. + */ + status?: string | null; + } + /** + * OutputAudioConfig configures how the CES agent should synthesize outgoing audio responses. + */ + export interface Schema$OutputAudioConfig { + /** + * Required. The encoding of the output audio data. + */ + audioEncoding?: string | null; + /** + * Required. The sample rate (in Hertz) of the output audio data. + */ + sampleRateHertz?: number | null; + } + /** + * Configuration for running an evaluation for a specific persona. + */ + export interface Schema$PersonaRunConfig { + /** + * Optional. The persona to use for the evaluation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationPersonas/{evaluationPersona\}` + */ + persona?: string | null; + /** + * Optional. The number of tasks to run for the persona. + */ + taskCount?: number | null; + } + /** + * Python code block to evaluate the condition. + */ + export interface Schema$PythonCodeCondition { + /** + * Required. The python code to execute. + */ + pythonCode?: string | null; + } + /** + * A Python function tool. + */ + export interface Schema$PythonFunction { + /** + * Output only. The description of the Python function, parsed from the python code's docstring. + */ + description?: string | null; + /** + * Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. + */ + name?: string | null; + /** + * Optional. The Python code to execute for the tool. + */ + pythonCode?: string | null; + } + /** + * Configuration to instruct how sensitive data should be handled. + */ + export interface Schema$RedactionConfig { + /** + * Optional. [DLP](https://cloud.google.com/dlp/docs) deidentify template name to instruct on how to de-identify content. Format: `projects/{project\}/locations/{location\}/deidentifyTemplates/{deidentify_template\}` + */ + deidentifyTemplate?: string | null; + /** + * Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. + */ + enableRedaction?: boolean | null; + /** + * Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project\}/locations/{location\}/inspectTemplates/{inspect_template\}` + */ + inspectTemplate?: string | null; + } + /** + * Request message for AgentService.RestoreAppVersion + */ + export interface Schema$RestoreAppVersionRequest {} + /** + * Request message for ToolService.RetrieveToolSchema. + */ + export interface Schema$RetrieveToolSchemaRequest { + /** + * Optional. The name of the tool to retrieve the schema for. Format: projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\} + */ + tool?: string | null; + /** + * Optional. The toolset tool to retrieve the schema for. Only one tool should match the predicate from the toolset. Otherwise, an error will be returned. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Response message for ToolService.RetrieveToolSchema. + */ + export interface Schema$RetrieveToolSchemaResponse { + /** + * Required. The schema of the tool input parameters. + */ + inputSchema?: Schema$Schema; + /** + * Required. The schema of the tool output parameters. + */ + outputSchema?: Schema$Schema; + /** + * The name of the tool that the schema is for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * The toolset tool that the schema is for. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Request message for ToolService.RetrieveTools. + */ + export interface Schema$RetrieveToolsRequest { + /** + * Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned. + */ + toolIds?: string[] | null; + } + /** + * Response message for ToolService.RetrieveTools. + */ + export interface Schema$RetrieveToolsResponse { + /** + * Required. The list of tools that are included in the specified toolset. + */ + tools?: Schema$Tool[]; + } + /** + * Request message for EvaluationService.RunEvaluation. + */ + export interface Schema$RunEvaluationRequest { + /** + * Required. The app to evaluate. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + app?: string | null; + /** + * Optional. The app version to evaluate. Format: `projects/{project\}/locations/{location\}/apps/{app\}/versions/{version\}` + */ + appVersion?: string | null; + /** + * Optional. The configuration to use for the run. + */ + config?: Schema$EvaluationConfig; + /** + * Optional. The display name of the evaluation run. + */ + displayName?: string | null; + /** + * Optional. An evaluation dataset to run. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationDatasets/{evaluationDataset\}` + */ + evaluationDataset?: string | null; + /** + * Optional. List of evaluations to run. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}` + */ + evaluations?: string[] | null; + /** + * Optional. Whether to generate a latency report for the evaluation run. + */ + generateLatencyReport?: boolean | null; + /** + * Optional. The method to run the evaluation if it is a golden evaluation. If not set, default to STABLE. + */ + goldenRunMethod?: string | null; + /** + * Optional. Configuration for running the optimization step after the evaluation run. If not set, the optimization step will not be run. + */ + optimizationConfig?: Schema$OptimizationConfig; + /** + * Optional. The configuration to use for the run per persona. + */ + personaRunConfigs?: Schema$PersonaRunConfig[]; + /** + * Optional. The number of times to run the evaluation. If not set, the default value is 1 per golden, and 5 per scenario. + */ + runCount?: number | null; + /** + * Optional. The resource name of the `ScheduledEvaluationRun` that is triggering this evaluation run. If this field is set, the `scheduled_evaluation_run` field on the created `EvaluationRun` resource will be populated from this value. Format: `projects/{project\}/locations/{location\}/apps/{app\}/scheduledEvaluationRuns/{scheduled_evaluation_run\}` + */ + scheduledEvaluationRun?: string | null; + } + /** + * Request message for SessionService.RunSession. + */ + export interface Schema$RunSessionRequest { + /** + * Required. The configuration for the session. + */ + config?: Schema$SessionConfig; + /** + * Required. Inputs for the session. + */ + inputs?: Schema$SessionInput[]; + } + /** + * Response message for SessionService.RunSession. + */ + export interface Schema$RunSessionResponse { + /** + * Outputs for the session. + */ + outputs?: Schema$SessionOutput[]; + } + /** + * Represents a scheduled evaluation run configuration. + */ + export interface Schema$ScheduledEvaluationRun { + /** + * Optional. Whether this config is active + */ + active?: boolean | null; + /** + * Output only. The user who created the scheduled evaluation run. + */ + createdBy?: string | null; + /** + * Output only. Timestamp when the scheduled evaluation run was created. + */ + createTime?: string | null; + /** + * Optional. User-defined description of the scheduled evaluation run. + */ + description?: string | null; + /** + * Required. User-defined display name of the scheduled evaluation run config. + */ + displayName?: string | null; + /** + * Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Output only. The last successful EvaluationRun of this scheduled execution. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationRuns/{evaluationRun\}` + */ + lastCompletedRun?: string | null; + /** + * Output only. The user who last updated the evaluation. + */ + lastUpdatedBy?: string | null; + /** + * Identifier. The unique identifier of the scheduled evaluation run config. Format: projects/{projectId\}/locations/{locationId\}/apps/{appId\}/scheduledEvaluationRuns/{scheduledEvaluationRunId\} + */ + name?: string | null; + /** + * Output only. The next time this is scheduled to execute + */ + nextScheduledExecutionTime?: string | null; + /** + * Required. The RunEvaluationRequest to schedule + */ + request?: Schema$RunEvaluationRequest; + /** + * Required. Configuration for the timing and frequency with which to execute the evaluations. + */ + schedulingConfig?: Schema$ScheduledEvaluationRunSchedulingConfig; + /** + * Output only. The total number of times this run has been executed + */ + totalExecutions?: number | null; + /** + * Output only. Timestamp when the evaluation was last updated. + */ + updateTime?: string | null; + } + /** + * Eval scheduling configuration details + */ + export interface Schema$ScheduledEvaluationRunSchedulingConfig { + /** + * Optional. The days of the week to run the eval. Applicable only for Weekly and Biweekly frequencies. 1 is Monday, 2 is Tuesday, ..., 7 is Sunday. + */ + daysOfWeek?: number[] | null; + /** + * Required. The frequency with which to run the eval + */ + frequency?: string | null; + /** + * Required. Timestamp when the eval should start. + */ + startTime?: string | null; + } + /** + * Represents a select subset of an OpenAPI 3.0 schema object. + */ + export interface Schema$Schema { + /** + * Optional. Can either be a boolean or an object, controls the presence of additional properties. + */ + additionalProperties?: Schema$Schema; + /** + * Optional. The value should be validated against any (one or more) of the subschemas in the list. + */ + anyOf?: Schema$Schema[]; + /** + * Optional. Default value of the data. + */ + default?: any | null; + /** + * Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + */ + defs?: {[key: string]: Schema$Schema} | null; + /** + * Optional. The description of the data. + */ + description?: string | null; + /** + * Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]\} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]\} + */ + enum?: string[] | null; + /** + * Optional. Schema of the elements of Type.ARRAY. + */ + items?: Schema$Schema; + /** + * Optional. Maximum value for Type.INTEGER and Type.NUMBER. + */ + maximum?: number | null; + /** + * Optional. Maximum number of the elements for Type.ARRAY. + */ + maxItems?: string | null; + /** + * Optional. Minimum value for Type.INTEGER and Type.NUMBER. + */ + minimum?: number | null; + /** + * Optional. Minimum number of the elements for Type.ARRAY. + */ + minItems?: string | null; + /** + * Optional. Indicates if the value may be null. + */ + nullable?: boolean | null; + /** + * Optional. Schemas of initial elements of Type.ARRAY. + */ + prefixItems?: Schema$Schema[]; + /** + * Optional. Properties of Type.OBJECT. + */ + properties?: {[key: string]: Schema$Schema} | null; + /** + * Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + */ + ref?: string | null; + /** + * Optional. Required properties of Type.OBJECT. + */ + required?: string[] | null; + /** + * Optional. The title of the schema. + */ + title?: string | null; + /** + * Required. The type of the data. + */ + type?: string | null; + /** + * Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + */ + uniqueItems?: boolean | null; + } + /** + * Configurations for authentication using a custom service account. + */ + export interface Schema$ServiceAccountAuthConfig { + /** + * Optional. The OAuth scopes to grant. If not specified, the default scope `https://www.googleapis.com/auth/cloud-platform` is used. + */ + scopes?: string[] | null; + /** + * Required. The email address of the service account used for authentication. CES uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + */ + serviceAccount?: string | null; + } + /** + * Configurations for authentication with [ID token](https://cloud.google.com/docs/authentication/token-types#id) generated from service agent. + */ + export interface Schema$ServiceAgentIdTokenAuthConfig {} + /** + * Configuration for tools using Service Directory. + */ + export interface Schema$ServiceDirectoryConfig { + /** + * Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project\}/locations/{location\}/namespaces/{namespace\}/services/{service\}`. Location of the service directory must be the same as the location of the app. + */ + service?: string | null; + } + /** + * The configuration for the session. + */ + export interface Schema$SessionConfig { + /** + * Optional. The deployment of the app to use for the session. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + deployment?: string | null; + /** + * Optional. The entry agent to handle the session. If not specified, the session will be handled by the root agent of the app. Format: `projects/{project\}/locations/{location\}/agents/{agent\}` + */ + entryAgent?: string | null; + /** + * Optional. The historical context of the session, including user inputs, agent responses, and other messages. Typically, CES agent would manage session automatically so client doesn't need to explicitly populate this field. However, client can optionally override the historical contexts to force the session start from certain state. + */ + historicalContexts?: Schema$Message[]; + /** + * Optional. Configuration for processing the input audio. + */ + inputAudioConfig?: Schema$InputAudioConfig; + /** + * Optional. Configuration for generating the output audio. + */ + outputAudioConfig?: Schema$OutputAudioConfig; + /** + * Optional. [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent. + */ + remoteDialogflowQueryParameters?: Schema$SessionConfigRemoteDialogflowQueryParameters; + /** + * Optional. The time zone of the user. If provided, the agent will use the time zone for date and time related variables. Otherwise, the agent will use the time zone specified in the App.time_zone_settings. The format is the IANA Time Zone Database time zone, e.g. "America/Los_Angeles". + */ + timeZone?: string | null; + } + /** + * [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) to send to the remote [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) agent when the session control is transferred to the remote agent. + */ + export interface Schema$SessionConfigRemoteDialogflowQueryParameters { + /** + * Optional. The end user metadata to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + */ + endUserMetadata?: {[key: string]: any} | null; + /** + * Optional. The payload to be sent in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + */ + payload?: {[key: string]: any} | null; + /** + * Optional. The HTTP headers to be sent as webhook_headers in [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + */ + webhookHeaders?: {[key: string]: string} | null; + } + /** + * Input for the session. + */ + export interface Schema$SessionInput { + /** + * Optional. Audio data from the end user. + */ + audio?: string | null; + /** + * Optional. Blob data from the end user. + */ + blob?: Schema$Blob; + /** + * Optional. DTMF digits from the end user. + */ + dtmf?: string | null; + /** + * Optional. Event input. + */ + event?: Schema$Event; + /** + * Optional. Image data from the end user. + */ + image?: Schema$Image; + /** + * Optional. Text data from the end user. + */ + text?: string | null; + /** + * Optional. Execution results for the tool calls from the client. + */ + toolResponses?: Schema$ToolResponses; + /** + * Optional. Contextual variables for the session, keyed by name. Only variables declared in the app will be used by the CES agent. Unrecognized variables will still be sent to the Dialogflow agent as additional session parameters. + */ + variables?: {[key: string]: any} | null; + /** + * Optional. A flag to indicate if the current message is a fragment of a larger input in the bidi streaming session. When `true`, the agent will defer processing until a subsequent message with `will_continue` set to `false` is received. Note: This flag has no effect on audio and DTMF inputs, which are always processed in real-time. + */ + willContinue?: boolean | null; + } + /** + * Output for the session. + */ + export interface Schema$SessionOutput { + /** + * Output audio from the CES agent. + */ + audio?: string | null; + /** + * Citations that provide the source information for the agent's generated text. + */ + citations?: Schema$Citations; + /** + * Optional. Diagnostic information contains execution details during the processing of the input. Only populated in the last SessionOutput (with `turn_completed=true`) for each turn. + */ + diagnosticInfo?: Schema$SessionOutputDiagnosticInfo; + /** + * Indicates the session has ended. + */ + endSession?: Schema$EndSession; + /** + * The suggestions returned from Google Search as a result of invoking the GoogleSearchTool. + */ + googleSearchSuggestions?: Schema$GoogleSearchSuggestions; + /** + * Custom payload with structured output from the CES agent. + */ + payload?: {[key: string]: any} | null; + /** + * Output text from the CES agent. + */ + text?: string | null; + /** + * Request for the client to execute the tools. + */ + toolCalls?: Schema$ToolCalls; + /** + * If true, the CES agent has detected the end of the current conversation turn and will provide no further output for this turn. + */ + turnCompleted?: boolean | null; + /** + * Indicates the sequential order of conversation turn to which this output belongs to, starting from 1. + */ + turnIndex?: number | null; + } + /** + * Contains execution details during the processing. + */ + export interface Schema$SessionOutputDiagnosticInfo { + /** + * List of the messages that happened during the processing. + */ + messages?: Schema$Message[]; + /** + * A trace of the entire request processing, represented as a root span. This span can contain nested child spans for specific operations. + */ + rootSpan?: Schema$Span; + } + /** + * A span is a unit of work or a single operation during the request processing. + */ + export interface Schema$Span { + /** + * Output only. Key-value attributes associated with the span. + */ + attributes?: {[key: string]: any} | null; + /** + * Output only. The child spans that are nested under this span. + */ + childSpans?: Schema$Span[]; + /** + * Output only. The duration of the span. + */ + duration?: string | null; + /** + * Output only. The end time of the span. + */ + endTime?: string | null; + /** + * Output only. The name of the span. + */ + name?: string | null; + /** + * Output only. The start time of the span. + */ + startTime?: string | null; + } + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + /** + * Configuration for how the agent response should be synthesized. + */ + export interface Schema$SynthesizeSpeechConfig { + /** + * Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error. + */ + speakingRate?: number | null; + /** + * Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices) from Cloud Text-to-Speech. + */ + voice?: string | null; + } + /** + * Pre-defined system tool. + */ + export interface Schema$SystemTool { + /** + * Output only. The description of the system tool. + */ + description?: string | null; + /** + * Required. The name of the system tool. + */ + name?: string | null; + } + /** + * Request message for EvaluationService.TestPersonaVoice. + */ + export interface Schema$TestPersonaVoiceRequest { + /** + * Required. The persona ID to test the voice for. Also accepts "default". + */ + personaId?: string | null; + /** + * Required. The text to test the voice for. + */ + text?: string | null; + } + /** + * Response message for EvaluationService.TestPersonaVoice. + */ + export interface Schema$TestPersonaVoiceResponse { + /** + * The audio data bytes of the synthesized voice. + */ + audio?: string | null; + } + /** + * TimeZone settings of the app. + */ + export interface Schema$TimeZoneSettings { + /** + * Optional. The time zone of the app from the [time zone database](https://www.iana.org/time-zones), e.g., America/Los_Angeles, Europe/Paris. + */ + timeZone?: string | null; + } + /** + * The TLS configuration. + */ + export interface Schema$TlsConfig { + /** + * Required. Specifies a list of allowed custom CA certificates for HTTPS verification. + */ + caCerts?: Schema$TlsConfigCaCert[]; + } + /** + * The CA certificate. + */ + export interface Schema$TlsConfigCaCert { + /** + * Required. The allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, CES will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") + */ + cert?: string | null; + /** + * Required. The name of the allowed custom CA certificates. This can be used to disambiguate the custom CA certificates. + */ + displayName?: string | null; + } + /** + * A tool represents an action that the CES agent can take to achieve certain goals. + */ + export interface Schema$Tool { + /** + * Optional. The client function. + */ + clientFunction?: Schema$ClientFunction; + /** + * Optional. The Integration Connector tool. + */ + connectorTool?: Schema$ConnectorTool; + /** + * Output only. Timestamp when the tool was created. + */ + createTime?: string | null; + /** + * Optional. The data store tool. + */ + dataStoreTool?: Schema$DataStoreTool; + /** + * Output only. The display name of the tool, derived based on the tool's type. For example, display name of a ClientFunction is derived from its `name` property. + */ + displayName?: string | null; + /** + * Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. The execution type of the tool. + */ + executionType?: string | null; + /** + * Optional. The file search tool. + */ + fileSearchTool?: Schema$FileSearchTool; + /** + * Output only. If the tool is generated by the LLM assistant, this field contains a descriptive summary of the generation. + */ + generatedSummary?: string | null; + /** + * Optional. The google search tool. + */ + googleSearchTool?: Schema$GoogleSearchTool; + /** + * Optional. The MCP tool. An MCP tool cannot be created or updated directly and is managed by the MCP toolset. + */ + mcpTool?: Schema$McpTool; + /** + * Identifier. The unique identifier of the tool. Format: - `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` for ## standalone tools. `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}/tools/{tool\}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected. + */ + name?: string | null; + /** + * Optional. The open API tool. + */ + openApiTool?: Schema$OpenApiTool; + /** + * Optional. The python function tool. + */ + pythonFunction?: Schema$PythonFunction; + /** + * Optional. The system tool. + */ + systemTool?: Schema$SystemTool; + /** + * Optional. Configuration for tool behavior in fake mode. + */ + toolFakeConfig?: Schema$ToolFakeConfig; + /** + * Output only. Timestamp when the tool was last updated. + */ + updateTime?: string | null; + /** + * Optional. The widget tool. + */ + widgetTool?: Schema$WidgetTool; + } + /** + * Request for the client or the agent to execute the specified tool. + */ + export interface Schema$ToolCall { + /** + * Optional. The input parameters and values for the tool in JSON object format. + */ + args?: {[key: string]: any} | null; + /** + * Output only. Display name of the tool. + */ + displayName?: string | null; + /** + * Optional. The unique identifier of the tool call. If populated, the client should return the execution result with the matching ID in ToolResponse. + */ + id?: string | null; + /** + * Optional. The name of the tool to execute. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * Optional. The toolset tool to execute. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Request for the client to execute the tools and return the execution results before continuing the session. + */ + export interface Schema$ToolCalls { + /** + * Optional. The list of tool calls to execute. + */ + toolCalls?: Schema$ToolCall[]; + } + /** + * Configuration for tool behavior in fake mode. + */ + export interface Schema$ToolFakeConfig { + /** + * Optional. Code block which will be executed instead of a real tool call. + */ + codeBlock?: Schema$CodeBlock; + /** + * Optional. Whether the tool is using fake mode. + */ + enableFakeMode?: boolean | null; + } + /** + * The execution result of a specific tool from the client or the agent. + */ + export interface Schema$ToolResponse { + /** + * Output only. Display name of the tool. + */ + displayName?: string | null; + /** + * Optional. The matching ID of the tool call the response is for. + */ + id?: string | null; + /** + * Required. The tool execution result in JSON object format. Use "output" key to specify tool response and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as tool execution result. + */ + response?: {[key: string]: any} | null; + /** + * Optional. The name of the tool to execute. Format: `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` + */ + tool?: string | null; + /** + * Optional. The toolset tool that got executed. + */ + toolsetTool?: Schema$ToolsetTool; + } + /** + * Execution results for the requested tool calls from the client. + */ + export interface Schema$ToolResponses { + /** + * Optional. The list of tool execution results. + */ + toolResponses?: Schema$ToolResponse[]; + } + /** + * A toolset represents a group of dynamically managed tools that can be used by the agent. + */ + export interface Schema$Toolset { + /** + * Optional. A toolset that generates tools from an Integration Connectors Connection. + */ + connectorToolset?: Schema$ConnectorToolset; + /** + * Output only. Timestamp when the toolset was created. + */ + createTime?: string | null; + /** + * Optional. The description of the toolset. + */ + description?: string | null; + /** + * Optional. The display name of the toolset. Must be unique within the same app. + */ + displayName?: string | null; + /** + * ETag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. + */ + etag?: string | null; + /** + * Optional. The execution type of the tools in the toolset. + */ + executionType?: string | null; + /** + * Optional. A toolset that contains a list of tools that are offered by the MCP server. + */ + mcpToolset?: Schema$McpToolset; + /** + * Identifier. The unique identifier of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + name?: string | null; + /** + * Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. + */ + openApiToolset?: Schema$OpenApiToolset; + /** + * Optional. Configuration for tools behavior in fake mode. + */ + toolFakeConfig?: Schema$ToolFakeConfig; + /** + * Output only. Timestamp when the toolset was last updated. + */ + updateTime?: string | null; + } + /** + * A tool that is created from a toolset. + */ + export interface Schema$ToolsetTool { + /** + * Optional. The tool ID to filter the tools to retrieve the schema for. + */ + toolId?: string | null; + /** + * Required. The resource name of the Toolset from which this tool is derived. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + toolset?: string | null; + } + /** + * Rule for transferring to a specific agent. + */ + export interface Schema$TransferRule { + /** + * Required. The resource name of the child agent the rule applies to. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + childAgent?: string | null; + /** + * Optional. A rule that immediately transfers to the target agent when the condition is met. + */ + deterministicTransfer?: Schema$TransferRuleDeterministicTransfer; + /** + * Required. The direction of the transfer. + */ + direction?: string | null; + /** + * Optional. Rule that prevents the planner from transferring to the target agent. + */ + disablePlannerTransfer?: Schema$TransferRuleDisablePlannerTransfer; + } + /** + * Deterministic transfer rule. When the condition evaluates to true, the transfer occurs. + */ + export interface Schema$TransferRuleDeterministicTransfer { + /** + * Optional. A rule that evaluates a session state condition. If the condition evaluates to true, the transfer occurs. + */ + expressionCondition?: Schema$ExpressionCondition; + /** + * Optional. A rule that uses Python code block to evaluate the conditions. If the condition evaluates to true, the transfer occurs. + */ + pythonCodeCondition?: Schema$PythonCodeCondition; + } + /** + * A rule that prevents the planner from transferring to the target agent. + */ + export interface Schema$TransferRuleDisablePlannerTransfer { + /** + * Required. If the condition evaluates to true, planner will not be allowed to transfer to the target agent. + */ + expressionCondition?: Schema$ExpressionCondition; + } + /** + * Action that is taken when a certain precondition is met. + */ + export interface Schema$TriggerAction { + /** + * Optional. Respond with a generative answer. + */ + generativeAnswer?: Schema$TriggerActionGenerativeAnswer; + /** + * Optional. Immediately respond with a preconfigured response. + */ + respondImmediately?: Schema$TriggerActionRespondImmediately; + /** + * Optional. Transfer the conversation to a different agent. + */ + transferAgent?: Schema$TriggerActionTransferAgent; + } + /** + * The agent will immediately respond with a generative answer. + */ + export interface Schema$TriggerActionGenerativeAnswer { + /** + * Required. The prompt to use for the generative answer. + */ + prompt?: string | null; + } + /** + * The agent will immediately respond with a preconfigured response. + */ + export interface Schema$TriggerActionRespondImmediately { + /** + * Required. The canned responses for the agent to choose from. The response is chosen randomly. + */ + responses?: Schema$TriggerActionResponse[]; + } + /** + * Represents a response from the agent. + */ + export interface Schema$TriggerActionResponse { + /** + * Optional. Whether the response is disabled. Disabled responses are not used by the agent. + */ + disabled?: boolean | null; + /** + * Required. Text for the agent to respond with. + */ + text?: string | null; + } + /** + * The agent will transfer the conversation to a different agent. + */ + export interface Schema$TriggerActionTransferAgent { + /** + * Required. The name of the agent to transfer the conversation to. The agent must be in the same app as the current agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + agent?: string | null; + } + /** + * Represents a single web search query and its associated search uri. + */ + export interface Schema$WebSearchQuery { + /** + * The search query text. + */ + query?: string | null; + /** + * The URI to the Google Search results page for the query. + */ + uri?: string | null; + } + /** + * Represents a widget tool that the agent can invoke. When the tool is chosen by the agent, agent will return the widget to the client. The client is responsible for processing the widget and generating the next user query to continue the interaction with the agent. + */ + export interface Schema$WidgetTool { + /** + * Optional. The description of the widget tool. + */ + description?: string | null; + /** + * Required. The display name of the widget tool. + */ + name?: string | null; + /** + * Optional. The input parameters of the widget tool. + */ + parameters?: Schema$Schema; + /** + * Optional. The type of the widget tool. If not specified, the default type will be CUSTOMIZED. + */ + widgetType?: string | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + apps: Resource$Projects$Locations$Apps; + operations: Resource$Projects$Locations$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.apps = new Resource$Projects$Locations$Apps(this.context); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + } + + /** + * Gets information about a location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.get({ + * // Resource name for the location. + * name: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "displayName": "my_displayName", + * // "labels": {}, + * // "locationId": "my_locationId", + * // "metadata": {}, + * // "name": "my_name" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.list({ + * // Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. + * extraLocationTypes: 'placeholder-value', + * // A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + * filter: 'placeholder-value', + * // The resource that owns the locations collection, if applicable. + * name: 'projects/my-project', + * // The maximum number of results to return. If not set, the service selects a default. + * pageSize: 'placeholder-value', + * // A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "locations": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}/locations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Get extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List extends StandardParameters { + /** + * Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. + */ + extraLocationTypes?: string[]; + /** + * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Apps { + context: APIRequestContext; + agents: Resource$Projects$Locations$Apps$Agents; + changelogs: Resource$Projects$Locations$Apps$Changelogs; + conversations: Resource$Projects$Locations$Apps$Conversations; + deployments: Resource$Projects$Locations$Apps$Deployments; + evaluationDatasets: Resource$Projects$Locations$Apps$Evaluationdatasets; + evaluationExpectations: Resource$Projects$Locations$Apps$Evaluationexpectations; + evaluationRuns: Resource$Projects$Locations$Apps$Evaluationruns; + evaluations: Resource$Projects$Locations$Apps$Evaluations; + examples: Resource$Projects$Locations$Apps$Examples; + guardrails: Resource$Projects$Locations$Apps$Guardrails; + scheduledEvaluationRuns: Resource$Projects$Locations$Apps$Scheduledevaluationruns; + sessions: Resource$Projects$Locations$Apps$Sessions; + tools: Resource$Projects$Locations$Apps$Tools; + toolsets: Resource$Projects$Locations$Apps$Toolsets; + versions: Resource$Projects$Locations$Apps$Versions; + constructor(context: APIRequestContext) { + this.context = context; + this.agents = new Resource$Projects$Locations$Apps$Agents(this.context); + this.changelogs = new Resource$Projects$Locations$Apps$Changelogs( + this.context + ); + this.conversations = new Resource$Projects$Locations$Apps$Conversations( + this.context + ); + this.deployments = new Resource$Projects$Locations$Apps$Deployments( + this.context + ); + this.evaluationDatasets = + new Resource$Projects$Locations$Apps$Evaluationdatasets(this.context); + this.evaluationExpectations = + new Resource$Projects$Locations$Apps$Evaluationexpectations( + this.context + ); + this.evaluationRuns = new Resource$Projects$Locations$Apps$Evaluationruns( + this.context + ); + this.evaluations = new Resource$Projects$Locations$Apps$Evaluations( + this.context + ); + this.examples = new Resource$Projects$Locations$Apps$Examples( + this.context + ); + this.guardrails = new Resource$Projects$Locations$Apps$Guardrails( + this.context + ); + this.scheduledEvaluationRuns = + new Resource$Projects$Locations$Apps$Scheduledevaluationruns( + this.context + ); + this.sessions = new Resource$Projects$Locations$Apps$Sessions( + this.context + ); + this.tools = new Resource$Projects$Locations$Apps$Tools(this.context); + this.toolsets = new Resource$Projects$Locations$Apps$Toolsets( + this.context + ); + this.versions = new Resource$Projects$Locations$Apps$Versions( + this.context + ); + } + + /** + * Creates a new app in the given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.create({ + * // Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app. + * appId: 'placeholder-value', + * // Required. The resource name of the location to create an app in. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "evaluationPersonas": [], + * // "evaluationSettings": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/apps').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.delete({ + * // Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the app to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Executes the given tool with the given arguments. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.executeTool({ + * // Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "args": {}, + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "response": {}, + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + options: StreamMethodOptions + ): Promise>; + executeTool( + params?: Params$Resource$Projects$Locations$Apps$Executetool, + options?: MethodOptions + ): Promise>; + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + executeTool( + params: Params$Resource$Projects$Locations$Apps$Executetool, + callback: BodyResponseCallback + ): void; + executeTool( + callback: BodyResponseCallback + ): void; + executeTool( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Executetool + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Executetool; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Executetool; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}:executeTool').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Exports the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.exportApp({ + * // Required. The resource name of the app to export. + * name: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "exportFormat": "my_exportFormat", + * // "gcsUri": "my_gcsUri" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + options: StreamMethodOptions + ): Promise>; + exportApp( + params?: Params$Resource$Projects$Locations$Apps$Exportapp, + options?: MethodOptions + ): Promise>; + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportApp( + params: Params$Resource$Projects$Locations$Apps$Exportapp, + callback: BodyResponseCallback + ): void; + exportApp(callback: BodyResponseCallback): void; + exportApp( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Exportapp + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Exportapp; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Exportapp; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:exportApp').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.get({ + * // Required. The resource name of the app to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "evaluationPersonas": [], + * // "evaluationSettings": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Imports the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.importApp({ + * // Required. The parent resource name with the location of the app to import. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "appContent": "my_appContent", + * // "appId": "my_appId", + * // "displayName": "my_displayName", + * // "gcsUri": "my_gcsUri", + * // "importOptions": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + options: StreamMethodOptions + ): Promise>; + importApp( + params?: Params$Resource$Projects$Locations$Apps$Importapp, + options?: MethodOptions + ): Promise>; + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importApp( + params: Params$Resource$Projects$Locations$Apps$Importapp, + callback: BodyResponseCallback + ): void; + importApp(callback: BodyResponseCallback): void; + importApp( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Importapp + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Importapp; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Importapp; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/apps:importApp').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Imports evaluations into the app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.importEvaluations({ + * // Required. The app to import the evaluations into. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "conversationList": {}, + * // "csvContent": "my_csvContent", + * // "gcsUri": "my_gcsUri", + * // "importOptions": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + importEvaluations( + params: Params$Resource$Projects$Locations$Apps$Importevaluations, + options: StreamMethodOptions + ): Promise>; + importEvaluations( + params?: Params$Resource$Projects$Locations$Apps$Importevaluations, + options?: MethodOptions + ): Promise>; + importEvaluations( + params: Params$Resource$Projects$Locations$Apps$Importevaluations, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importEvaluations( + params: Params$Resource$Projects$Locations$Apps$Importevaluations, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importEvaluations( + params: Params$Resource$Projects$Locations$Apps$Importevaluations, + callback: BodyResponseCallback + ): void; + importEvaluations(callback: BodyResponseCallback): void; + importEvaluations( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Importevaluations + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Importevaluations; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Importevaluations; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}:importEvaluations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists apps in the given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.list({ + * // Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListApps call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the location to list apps from. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "apps": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/apps').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.patch({ + * // Identifier. The unique identifier of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * name: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "evaluationPersonas": [], + * // "evaluationSettings": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "audioProcessingConfig": {}, + * // "clientCertificateSettings": {}, + * // "createTime": "my_createTime", + * // "dataStoreSettings": {}, + * // "defaultChannelProfile": {}, + * // "deploymentCount": 0, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationMetricsThresholds": {}, + * // "evaluationPersonas": [], + * // "evaluationSettings": {}, + * // "globalInstruction": "my_globalInstruction", + * // "guardrails": [], + * // "languageSettings": {}, + * // "locked": false, + * // "loggingSettings": {}, + * // "metadata": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "pinned": false, + * // "predefinedVariableDeclarations": [], + * // "rootAgent": "my_rootAgent", + * // "timeZoneSettings": {}, + * // "toolExecutionMode": "my_toolExecutionMode", + * // "updateTime": "my_updateTime", + * // "variableDeclarations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve the schema of the given tool. The schema is computed on the fly for the given instance of the tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.retrieveToolSchema({ + * // Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "inputSchema": {}, + * // "outputSchema": {}, + * // "tool": "my_tool", + * // "toolsetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options: StreamMethodOptions + ): Promise>; + retrieveToolSchema( + params?: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options?: MethodOptions + ): Promise>; + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + params: Params$Resource$Projects$Locations$Apps$Retrievetoolschema, + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + callback: BodyResponseCallback + ): void; + retrieveToolSchema( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Retrievetoolschema + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Retrievetoolschema; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Retrievetoolschema; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}:retrieveToolSchema').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Runs an evaluation of the app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.runEvaluation({ + * // Required. The app to evaluate. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * app: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "app": "my_app", + * // "appVersion": "my_appVersion", + * // "config": {}, + * // "displayName": "my_displayName", + * // "evaluationDataset": "my_evaluationDataset", + * // "evaluations": [], + * // "generateLatencyReport": false, + * // "goldenRunMethod": "my_goldenRunMethod", + * // "optimizationConfig": {}, + * // "personaRunConfigs": [], + * // "runCount": 0, + * // "scheduledEvaluationRun": "my_scheduledEvaluationRun" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + runEvaluation( + params: Params$Resource$Projects$Locations$Apps$Runevaluation, + options: StreamMethodOptions + ): Promise>; + runEvaluation( + params?: Params$Resource$Projects$Locations$Apps$Runevaluation, + options?: MethodOptions + ): Promise>; + runEvaluation( + params: Params$Resource$Projects$Locations$Apps$Runevaluation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + runEvaluation( + params: Params$Resource$Projects$Locations$Apps$Runevaluation, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + runEvaluation( + params: Params$Resource$Projects$Locations$Apps$Runevaluation, + callback: BodyResponseCallback + ): void; + runEvaluation(callback: BodyResponseCallback): void; + runEvaluation( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Runevaluation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Runevaluation; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Runevaluation; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+app}:runEvaluation').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['app'], + pathParams: ['app'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Tests the voice of a persona. Also accepts a default persona. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.testPersonaVoice({ + * // Required. the resource name of the app to test the persona voice for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * app: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "personaId": "my_personaId", + * // "text": "my_text" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "audio": "my_audio" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testPersonaVoice( + params: Params$Resource$Projects$Locations$Apps$Testpersonavoice, + options: StreamMethodOptions + ): Promise>; + testPersonaVoice( + params?: Params$Resource$Projects$Locations$Apps$Testpersonavoice, + options?: MethodOptions + ): Promise>; + testPersonaVoice( + params: Params$Resource$Projects$Locations$Apps$Testpersonavoice, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testPersonaVoice( + params: Params$Resource$Projects$Locations$Apps$Testpersonavoice, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testPersonaVoice( + params: Params$Resource$Projects$Locations$Apps$Testpersonavoice, + callback: BodyResponseCallback + ): void; + testPersonaVoice( + callback: BodyResponseCallback + ): void; + testPersonaVoice( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Testpersonavoice + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Testpersonavoice; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Testpersonavoice; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+app}:testPersonaVoice').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['app'], + pathParams: ['app'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Create extends StandardParameters { + /** + * Optional. The ID to use for the app, which will become the final component of the app's resource name. If not provided, a unique ID will be automatically assigned for the app. + */ + appId?: string; + /** + * Required. The resource name of the location to create an app in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$App; + } + export interface Params$Resource$Projects$Locations$Apps$Delete extends StandardParameters { + /** + * Optional. The current etag of the app. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the app to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Executetool extends StandardParameters { + /** + * Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExecuteToolRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Exportapp extends StandardParameters { + /** + * Required. The resource name of the app to export. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExportAppRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Get extends StandardParameters { + /** + * Required. The resource name of the app to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Importapp extends StandardParameters { + /** + * Required. The parent resource name with the location of the app to import. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ImportAppRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Importevaluations extends StandardParameters { + /** + * Required. The app to import the evaluations into. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ImportEvaluationsRequest; + } + export interface Params$Resource$Projects$Locations$Apps$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListApps call. + */ + pageToken?: string; + /** + * Required. The resource name of the location to list apps from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$App; + } + export interface Params$Resource$Projects$Locations$Apps$Retrievetoolschema extends StandardParameters { + /** + * Required. The resource name of the app which the tool/toolset belongs to. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RetrieveToolSchemaRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Runevaluation extends StandardParameters { + /** + * Required. The app to evaluate. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + app?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RunEvaluationRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Testpersonavoice extends StandardParameters { + /** + * Required. the resource name of the app to test the persona voice for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + app?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPersonaVoiceRequest; + } + + export class Resource$Projects$Locations$Apps$Agents { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new agent in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.agents.create({ + * // Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent. + * agentId: 'placeholder-value', + * // Required. The resource name of the app to create an agent in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Agents$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Agents$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/agents').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.agents.delete({ + * // Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples. * If `force = false`, the deletion fails if other agents/examples reference it. * If `force = true`, delete the agent and remove it from all referencing apps/agents/examples. + * force: 'placeholder-value', + * // Required. The resource name of the agent to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/agents/my-agent', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Agents$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.agents.get({ + * // Required. The resource name of the agent to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/agents/my-agent', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Agents$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Agents$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists agents in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.agents.list({ + * // Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListAgents call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list agents from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "agents": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Agents$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Agents$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/agents').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified agent. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.agents.patch({ + * // Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/agents/my-agent', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "afterAgentCallbacks": [], + * // "afterModelCallbacks": [], + * // "afterToolCallbacks": [], + * // "beforeAgentCallbacks": [], + * // "beforeModelCallbacks": [], + * // "beforeToolCallbacks": [], + * // "childAgents": [], + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "generatedSummary": "my_generatedSummary", + * // "guardrails": [], + * // "instruction": "my_instruction", + * // "llmAgent": {}, + * // "modelSettings": {}, + * // "name": "my_name", + * // "remoteDialogflowAgent": {}, + * // "tools": [], + * // "toolsets": [], + * // "transferRules": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Agents$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Agents$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Agents$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Agents$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Agents$Create extends StandardParameters { + /** + * Optional. The ID to use for the agent, which will become the final component of the agent's resource name. If not provided, a unique ID will be automatically assigned for the agent. + */ + agentId?: string; + /** + * Required. The resource name of the app to create an agent in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Agent; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$Delete extends StandardParameters { + /** + * Optional. The current etag of the agent. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the agent, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the agent, even if it is still referenced by other app/agents/examples. * If `force = false`, the deletion fails if other agents/examples reference it. * If `force = true`, delete the agent and remove it from all referencing apps/agents/examples. + */ + force?: boolean; + /** + * Required. The resource name of the agent to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$Get extends StandardParameters { + /** + * Required. The resource name of the agent to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the agents. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListAgents call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list agents from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Agents$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the agent. Format: `projects/{project\}/locations/{location\}/apps/{app\}/agents/{agent\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Agent; + } + + export class Resource$Projects$Locations$Apps$Changelogs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets the specified changelog. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.changelogs.get({ + * // Required. The resource name of the changelog to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/changelogs/my-changelog', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": "my_action", + * // "author": "my_author", + * // "createTime": "my_createTime", + * // "dependentResources": [], + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "name": "my_name", + * // "newResource": {}, + * // "originalResource": {}, + * // "resource": "my_resource", + * // "resourceType": "my_resourceType", + * // "sequenceNumber": "my_sequenceNumber" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Changelogs$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Changelogs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Changelogs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Changelogs$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the changelogs of the specified app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.changelogs.list({ + * // Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details. The filter string can be used to filter by `action`, `resource_type`, `resource_name`, `author`, and `create_time`. The `:` comparator can be used for case-insensitive partial matching on string fields, while `=` performs an exact case-sensitive match. Examples: * `action:update` (case-insensitive partial match) * `action="Create"` (case-sensitive exact match) * `resource_type:agent` * `resource_name:my-agent` * `author:me@example.com` * `create_time \> "2025-01-01T00:00:00Z"` * `create_time <= "2025-01-01T00:00:00Z" AND resource_type:tool` + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListChangelogs call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list changelogs from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "changelogs": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Changelogs$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Changelogs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Changelogs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Changelogs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/changelogs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Changelogs$Get extends StandardParameters { + /** + * Required. The resource name of the changelog to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Changelogs$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the changelogs. See https://google.aip.dev/160 for more details. The filter string can be used to filter by `action`, `resource_type`, `resource_name`, `author`, and `create_time`. The `:` comparator can be used for case-insensitive partial matching on string fields, while `=` performs an exact case-sensitive match. Examples: * `action:update` (case-insensitive partial match) * `action="Create"` (case-sensitive exact match) * `resource_type:agent` * `resource_name:my-agent` * `author:me@example.com` * `create_time \> "2025-01-01T00:00:00Z"` * `create_time <= "2025-01-01T00:00:00Z" AND resource_type:tool` + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListChangelogs call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list changelogs from. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Apps$Conversations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Batch deletes the specified conversations. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.conversations.batchDelete({ + * // Required. The resource name of the app to delete conversations from. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "conversations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options: StreamMethodOptions + ): Promise>; + batchDelete( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options?: MethodOptions + ): Promise>; + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchDelete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete, + callback: BodyResponseCallback + ): void; + batchDelete(callback: BodyResponseCallback): void; + batchDelete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/conversations:batchDelete' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified conversation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.conversations.delete({ + * // Required. The resource name of the conversation to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/conversations/my-conversation', + * // Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. + * source: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Conversations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a golden evaluation from a conversation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await ces.projects.locations.apps.conversations.generateEvaluation({ + * // Required. The conversation to create the golden evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/conversations/{conversation\}` + * conversation: + * 'projects/my-project/locations/my-location/apps/my-app/conversations/my-conversation', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "source": "my_source" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateEvaluation( + params: Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation, + options: StreamMethodOptions + ): Promise>; + generateEvaluation( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation, + options?: MethodOptions + ): Promise>; + generateEvaluation( + params: Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateEvaluation( + params: Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateEvaluation( + params: Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation, + callback: BodyResponseCallback + ): void; + generateEvaluation(callback: BodyResponseCallback): void; + generateEvaluation( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+conversation}:generateEvaluation' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['conversation'], + pathParams: ['conversation'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified conversation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.conversations.get({ + * // Required. The resource name of the conversation to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/conversations/my-conversation', + * // Optional. Indicate the source of the conversation. If not set, all source will be searched. + * source: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelType": "my_channelType", + * // "deployment": "my_deployment", + * // "endTime": "my_endTime", + * // "entryAgent": "my_entryAgent", + * // "inputTypes": [], + * // "languageCode": "my_languageCode", + * // "messages": [], + * // "name": "my_name", + * // "source": "my_source", + * // "startTime": "my_startTime", + * // "turnCount": 0, + * // "turns": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Conversations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists conversations in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.conversations.list({ + * // Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListConversations call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list conversations from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. + * source: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "conversations": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Conversations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Conversations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Conversations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Conversations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Conversations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/conversations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Conversations$Batchdelete extends StandardParameters { + /** + * Required. The resource name of the app to delete conversations from. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BatchDeleteConversationsRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$Delete extends StandardParameters { + /** + * Required. The resource name of the conversation to delete. + */ + name?: string; + /** + * Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. + */ + source?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$Generateevaluation extends StandardParameters { + /** + * Required. The conversation to create the golden evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/conversations/{conversation\}` + */ + conversation?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateEvaluationRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$Get extends StandardParameters { + /** + * Required. The resource name of the conversation to retrieve. + */ + name?: string; + /** + * Optional. Indicate the source of the conversation. If not set, all source will be searched. + */ + source?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Conversations$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the conversations. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListConversations call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list conversations from. + */ + parent?: string; + /** + * Optional. Indicate the source of the conversation. If not set, Source.Live will be applied by default. + */ + source?: string; + } + + export class Resource$Projects$Locations$Apps$Deployments { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new deployment in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.deployments.create({ + * // Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment. + * deploymentId: 'placeholder-value', + * // Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Deployments$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/deployments').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.deployments.delete({ + * // Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The name of the deployment to delete. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Deployments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.deployments.get({ + * // Required. The name of the deployment. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Deployments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Deployments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists deployments in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.deployments.list({ + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * pageSize: 'placeholder-value', + * // Optional. A page token, received from a previous `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token. + * pageToken: 'placeholder-value', + * // Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "deployments": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Deployments$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Deployments$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Deployments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/deployments').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified deployment. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.deployments.patch({ + * // Identifier. The resource name of the deployment. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + * name: 'projects/my-project/locations/my-location/apps/my-app/deployments/my-deployment', + * // Optional. The list of fields to update. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "channelProfile": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Deployments$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Deployments$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Deployments$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Deployments$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Deployments$Create extends StandardParameters { + /** + * Optional. The ID to use for the deployment, which will become the final component of the deployment's resource name. If not provided, a unique ID will be automatically assigned for the deployment. + */ + deploymentId?: string; + /** + * Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Delete extends StandardParameters { + /** + * Optional. The etag of the deployment. If an etag is provided and does not match the current etag of the deployment, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The name of the deployment to delete. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Get extends StandardParameters { + /** + * Required. The name of the deployment. Format: `projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$List extends StandardParameters { + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 deployments will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeployments` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent app. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Deployments$Patch extends StandardParameters { + /** + * Identifier. The resource name of the deployment. Format: projects/{project\}/locations/{location\}/apps/{app\}/deployments/{deployment\} + */ + name?: string; + /** + * Optional. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Deployment; + } + + export class Resource$Projects$Locations$Apps$Evaluationdatasets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates an evaluation dataset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationDatasets.create({ + * // Optional. The ID to use for the evaluation dataset, which will become the final component of the evaluation dataset's resource name. If not provided, a unique ID will be automatically assigned for the evaluation. + * evaluationDatasetId: 'placeholder-value', + * // Required. The app to create the evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluations": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluations": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluationDatasets').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes an evaluation dataset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationDatasets.delete({ + * // Optional. The current etag of the evaluation dataset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation dataset, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the evaluation dataset to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationDatasets/my-evaluationDataset', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified evaluation dataset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationDatasets.get({ + * // Required. The resource name of the evaluation dataset to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationDatasets/my-evaluationDataset', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluations": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all evaluation datasets in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationDatasets.list({ + * // Optional. Filter to be applied when listing the evaluation datasets. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationDatasets call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list evaluation datasets from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "evaluationDatasets": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluationDatasets').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an evaluation dataset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationDatasets.patch({ + * // Identifier. The unique identifier of this evaluation dataset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationDatasets/{evaluationDataset\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationDatasets/my-evaluationDataset', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluations": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluations": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Create extends StandardParameters { + /** + * Optional. The ID to use for the evaluation dataset, which will become the final component of the evaluation dataset's resource name. If not provided, a unique ID will be automatically assigned for the evaluation. + */ + evaluationDatasetId?: string; + /** + * Required. The app to create the evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EvaluationDataset; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Delete extends StandardParameters { + /** + * Optional. The current etag of the evaluation dataset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation dataset, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the evaluation dataset to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Get extends StandardParameters { + /** + * Required. The resource name of the evaluation dataset to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationdatasets$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the evaluation datasets. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationDatasets call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list evaluation datasets from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationdatasets$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of this evaluation dataset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationDatasets/{evaluationDataset\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EvaluationDataset; + } + + export class Resource$Projects$Locations$Apps$Evaluationexpectations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates an evaluation expectation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationExpectations.create({ + * // Optional. The ID to use for the evaluation expectation, which will become the final component of the evaluation expectation's resource name. If not provided, a unique ID will be automatically assigned for the evaluation expectation. + * evaluationExpectationId: 'placeholder-value', + * // Required. The app to create the evaluation expectation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "llmCriteria": {}, + * // "name": "my_name", + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "llmCriteria": {}, + * // "name": "my_name", + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluationExpectations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes an evaluation expectation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationExpectations.delete({ + * // Optional. The current etag of the evaluation expectation. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation expectation, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the evaluation expectation to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationExpectations/my-evaluationExpectation', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified evaluation expectation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationExpectations.get({ + * // Required. The resource name of the evaluation expectation to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationExpectations/my-evaluationExpectation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "llmCriteria": {}, + * // "name": "my_name", + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all evaluation expectations in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationExpectations.list({ + * // Optional. Filter to be applied when listing the evaluation expectations. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationExpectations call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list evaluation expectations from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "evaluationExpectations": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluationExpectations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an evaluation expectation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationExpectations.patch({ + * // Identifier. The unique identifier of this evaluation expectation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationExpectations/{evaluation_expectation\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationExpectations/my-evaluationExpectation', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "llmCriteria": {}, + * // "name": "my_name", + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "llmCriteria": {}, + * // "name": "my_name", + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Create extends StandardParameters { + /** + * Optional. The ID to use for the evaluation expectation, which will become the final component of the evaluation expectation's resource name. If not provided, a unique ID will be automatically assigned for the evaluation expectation. + */ + evaluationExpectationId?: string; + /** + * Required. The app to create the evaluation expectation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EvaluationExpectation; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Delete extends StandardParameters { + /** + * Optional. The current etag of the evaluation expectation. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation expectation, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the evaluation expectation to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Get extends StandardParameters { + /** + * Required. The resource name of the evaluation expectation to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationexpectations$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the evaluation expectations. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationExpectations call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list evaluation expectations from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationexpectations$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of this evaluation expectation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluationExpectations/{evaluation_expectation\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EvaluationExpectation; + } + + export class Resource$Projects$Locations$Apps$Evaluationruns { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes an evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationRuns.delete({ + * // Required. The resource name of the evaluation run to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationRuns/my-evaluationRun', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationRuns.get({ + * // Required. The resource name of the evaluation run to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluationRuns/my-evaluationRun', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "appVersionDisplayName": "my_appVersionDisplayName", + * // "changelog": "my_changelog", + * // "changelogCreateTime": "my_changelogCreateTime", + * // "config": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "error": {}, + * // "errorInfo": {}, + * // "evaluationDataset": "my_evaluationDataset", + * // "evaluationResults": [], + * // "evaluationRunSummaries": {}, + * // "evaluationType": "my_evaluationType", + * // "evaluations": [], + * // "goldenRunMethod": "my_goldenRunMethod", + * // "initiatedBy": "my_initiatedBy", + * // "latencyReport": {}, + * // "name": "my_name", + * // "optimizationConfig": {}, + * // "personaRunConfigs": [], + * // "progress": {}, + * // "runCount": 0, + * // "scheduledEvaluationRun": "my_scheduledEvaluationRun", + * // "state": "my_state" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Evaluationruns$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationruns$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationruns$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationruns$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all evaluation runs in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluationRuns.list({ + * // Optional. Filter to be applied when listing the evaluation runs. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationRuns call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list evaluation runs from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "evaluationRuns": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Evaluationruns$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluationruns$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluationruns$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluationruns$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluationruns$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluationRuns').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Evaluationruns$Delete extends StandardParameters { + /** + * Required. The resource name of the evaluation run to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationruns$Get extends StandardParameters { + /** + * Required. The resource name of the evaluation run to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluationruns$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the evaluation runs. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationRuns call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list evaluation runs from. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Apps$Evaluations { + context: APIRequestContext; + results: Resource$Projects$Locations$Apps$Evaluations$Results; + constructor(context: APIRequestContext) { + this.context = context; + this.results = new Resource$Projects$Locations$Apps$Evaluations$Results( + this.context + ); + } + + /** + * Creates an evaluation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluations.create({ + * // Optional. The ID to use for the evaluation, which will become the final component of the evaluation's resource name. If not provided, a unique ID will be automatically assigned for the evaluation. + * evaluationId: 'placeholder-value', + * // Required. The app to create the evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationDatasets": [], + * // "evaluationRuns": [], + * // "golden": {}, + * // "invalid": false, + * // "lastCompletedResult": {}, + * // "lastTenResults": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "scenario": {}, + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationDatasets": [], + * // "evaluationRuns": [], + * // "golden": {}, + * // "invalid": false, + * // "lastCompletedResult": {}, + * // "lastTenResults": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "scenario": {}, + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluations$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes an evaluation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluations.delete({ + * // Optional. The current etag of the evaluation. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the evaluation, even if it is still referenced by evaluation datasets. * If `force = false`, the deletion will fail if any datasets still reference the evaluation. * If `force = true`, all existing references from datasets will be removed and the evaluation will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the evaluation to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluations/my-evaluation', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified evaluation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluations.get({ + * // Required. The resource name of the evaluation to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluations/my-evaluation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationDatasets": [], + * // "evaluationRuns": [], + * // "golden": {}, + * // "invalid": false, + * // "lastCompletedResult": {}, + * // "lastTenResults": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "scenario": {}, + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Evaluations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all evaluations in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluations.list({ + * // Optional. Filter to be applied when listing the evaluations. See https://google.aip.dev/160 for more details. Currently supports filtering by the following fields: * evaluation_datasets, using the evaluation dataset ID in the format evaluation_datasets:evaluation_dataset_id. * tags, using the tag in the format tags:tag. + * filter: 'placeholder-value', + * // Optional. Whether to include the last 10 evaluation results for each evaluation in the response. + * lastTenResults: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluations call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list evaluations from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "evaluations": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Evaluations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/evaluations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates an evaluation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluations.patch({ + * // Identifier. The unique identifier of this evaluation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluations/my-evaluation', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationDatasets": [], + * // "evaluationRuns": [], + * // "golden": {}, + * // "invalid": false, + * // "lastCompletedResult": {}, + * // "lastTenResults": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "scenario": {}, + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregatedMetrics": {}, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "evaluationDatasets": [], + * // "evaluationRuns": [], + * // "golden": {}, + * // "invalid": false, + * // "lastCompletedResult": {}, + * // "lastTenResults": [], + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "scenario": {}, + * // "tags": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluations$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Evaluations$Create extends StandardParameters { + /** + * Optional. The ID to use for the evaluation, which will become the final component of the evaluation's resource name. If not provided, a unique ID will be automatically assigned for the evaluation. + */ + evaluationId?: string; + /** + * Required. The app to create the evaluation for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Evaluation; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluations$Delete extends StandardParameters { + /** + * Optional. The current etag of the evaluation. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the evaluation, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the evaluation, even if it is still referenced by evaluation datasets. * If `force = false`, the deletion will fail if any datasets still reference the evaluation. * If `force = true`, all existing references from datasets will be removed and the evaluation will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the evaluation to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluations$Get extends StandardParameters { + /** + * Required. The resource name of the evaluation to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluations$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the evaluations. See https://google.aip.dev/160 for more details. Currently supports filtering by the following fields: * evaluation_datasets, using the evaluation dataset ID in the format evaluation_datasets:evaluation_dataset_id. * tags, using the tag in the format tags:tag. + */ + filter?: string; + /** + * Optional. Whether to include the last 10 evaluation results for each evaluation in the response. + */ + lastTenResults?: boolean; + /** + * Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluations call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list evaluations from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluations$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of this evaluation. Format: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/{evaluation\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Evaluation; + } + + export class Resource$Projects$Locations$Apps$Evaluations$Results { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes an evaluation result. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluations.results.delete({ + * // Required. The resource name of the evaluation result to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluations/my-evaluation/results/my-result', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified evaluation result. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluations.results.get({ + * // Required. The resource name of the evaluation result to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/evaluations/my-evaluation/results/my-result', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersion": "my_appVersion", + * // "appVersionDisplayName": "my_appVersionDisplayName", + * // "changelog": "my_changelog", + * // "changelogCreateTime": "my_changelogCreateTime", + * // "config": {}, + * // "createTime": "my_createTime", + * // "displayName": "my_displayName", + * // "error": {}, + * // "errorInfo": {}, + * // "evaluationMetricsThresholds": {}, + * // "evaluationRun": "my_evaluationRun", + * // "evaluationStatus": "my_evaluationStatus", + * // "executionState": "my_executionState", + * // "goldenResult": {}, + * // "goldenRunMethod": "my_goldenRunMethod", + * // "initiatedBy": "my_initiatedBy", + * // "name": "my_name", + * // "persona": {}, + * // "scenarioResult": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all evaluation results for a given evaluation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.evaluations.results.list({ + * // Optional. Filter to be applied when listing the evaluation results. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationResults call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the evaluation to list evaluation results from. To filter by evaluation run, use `-` as the evaluation ID and specify the evaluation run ID in the filter. For example: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/-` + * parent: + * 'projects/my-project/locations/my-location/apps/my-app/evaluations/my-evaluation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "evaluationResults": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Evaluations$Results$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Evaluations$Results$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Evaluations$Results$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Evaluations$Results$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Evaluations$Results$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/results').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Evaluations$Results$Delete extends StandardParameters { + /** + * Required. The resource name of the evaluation result to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluations$Results$Get extends StandardParameters { + /** + * Required. The resource name of the evaluation result to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Evaluations$Results$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the evaluation results. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time", and "update_time" are supported. Time fields are ordered in descending order, and the name field is ordered in ascending order. If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list EvaluationService.ListEvaluationResults call. + */ + pageToken?: string; + /** + * Required. The resource name of the evaluation to list evaluation results from. To filter by evaluation run, use `-` as the evaluation ID and specify the evaluation run ID in the filter. For example: `projects/{project\}/locations/{location\}/apps/{app\}/evaluations/-` + */ + parent?: string; + } + + export class Resource$Projects$Locations$Apps$Examples { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new example in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.examples.create({ + * // Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example. + * exampleId: 'placeholder-value', + * // Required. The resource name of the app to create an example in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Examples$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Examples$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/examples').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.examples.delete({ + * // Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the example to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/examples/my-example', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Examples$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.examples.get({ + * // Required. The resource name of the example to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/examples/my-example', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Examples$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Examples$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists examples in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.examples.list({ + * // Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListExamples call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list examples from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "examples": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Examples$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Examples$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/examples').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified example. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.examples.patch({ + * // Identifier. The unique identifier of the example. Format: `projects/{project\}/locations/{location\}/apps/{app\}/examples/{example\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/examples/my-example', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "entryAgent": "my_entryAgent", + * // "etag": "my_etag", + * // "invalid": false, + * // "messages": [], + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Examples$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Examples$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Examples$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Examples$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Examples$Create extends StandardParameters { + /** + * Optional. The ID to use for the example, which will become the final component of the example's resource name. If not provided, a unique ID will be automatically assigned for the example. + */ + exampleId?: string; + /** + * Required. The resource name of the app to create an example in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Example; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$Delete extends StandardParameters { + /** + * Optional. The current etag of the example. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the example, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the example to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$Get extends StandardParameters { + /** + * Required. The resource name of the example to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the examples. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListExamples call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list examples from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Examples$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the example. Format: `projects/{project\}/locations/{location\}/apps/{app\}/examples/{example\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Example; + } + + export class Resource$Projects$Locations$Apps$Guardrails { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new guardrail in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.guardrails.create({ + * // Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail. + * guardrailId: 'placeholder-value', + * // Required. The resource name of the app to create a guardrail in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Guardrails$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/guardrails').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified guardrail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.guardrails.delete({ + * // Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any apps/agents still reference the guardrail. * If `force = true`, all existing references from apps/agents will be removed and the guardrail will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the guardrail to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/guardrails/my-guardrail', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Guardrails$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified guardrail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.guardrails.get({ + * // Required. The resource name of the guardrail to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/guardrails/my-guardrail', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Guardrails$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists guardrails in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.guardrails.list({ + * // Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListGuardrails call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list guardrails from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "guardrails": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Guardrails$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Guardrails$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/guardrails').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified guardrail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.guardrails.patch({ + * // Identifier. The unique identifier of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/guardrails/my-guardrail', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": {}, + * // "codeCallback": {}, + * // "contentFilter": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "enabled": false, + * // "etag": "my_etag", + * // "llmPolicy": {}, + * // "llmPromptSecurity": {}, + * // "modelSafety": {}, + * // "name": "my_name", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Guardrails$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Guardrails$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Guardrails$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Guardrails$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Create extends StandardParameters { + /** + * Optional. The ID to use for the guardrail, which will become the final component of the guardrail's resource name. If not provided, a unique ID will be automatically assigned for the guardrail. + */ + guardrailId?: string; + /** + * Required. The resource name of the app to create a guardrail in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Guardrail; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Delete extends StandardParameters { + /** + * Optional. The current etag of the guardrail. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the guardrail, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the guardrail, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any apps/agents still reference the guardrail. * If `force = true`, all existing references from apps/agents will be removed and the guardrail will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the guardrail to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Get extends StandardParameters { + /** + * Required. The resource name of the guardrail to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the guardrails. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListGuardrails call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list guardrails from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Guardrails$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the guardrail. Format: `projects/{project\}/locations/{location\}/apps/{app\}/guardrails/{guardrail\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Guardrail; + } + + export class Resource$Projects$Locations$Apps$Scheduledevaluationruns { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a scheduled evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.scheduledEvaluationRuns.create({ + * // Required. The app to create the scheduled evaluation run for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. The ID to use for the scheduled evaluation run, which will become the final component of the scheduled evaluation run's resource name. If not provided, a unique ID will be automatically assigned. + * scheduledEvaluationRunId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "active": false, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "lastCompletedRun": "my_lastCompletedRun", + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "nextScheduledExecutionTime": "my_nextScheduledExecutionTime", + * // "request": {}, + * // "schedulingConfig": {}, + * // "totalExecutions": 0, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "active": false, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "lastCompletedRun": "my_lastCompletedRun", + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "nextScheduledExecutionTime": "my_nextScheduledExecutionTime", + * // "request": {}, + * // "schedulingConfig": {}, + * // "totalExecutions": 0, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/scheduledEvaluationRuns' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a scheduled evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.scheduledEvaluationRuns.delete({ + * // Optional. The etag of the ScheduledEvaluationRun. If provided, it must match the server's etag. + * etag: 'placeholder-value', + * // Required. The resource name of the scheduled evaluation run to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/scheduledEvaluationRuns/my-scheduledEvaluationRun', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified scheduled evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.scheduledEvaluationRuns.get({ + * // Required. The resource name of the scheduled evaluation run to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/scheduledEvaluationRuns/my-scheduledEvaluationRun', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "active": false, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "lastCompletedRun": "my_lastCompletedRun", + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "nextScheduledExecutionTime": "my_nextScheduledExecutionTime", + * // "request": {}, + * // "schedulingConfig": {}, + * // "totalExecutions": 0, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all scheduled evaluation runs in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.scheduledEvaluationRuns.list({ + * // Optional. Filter to be applied when listing the scheduled evaluation runs. See https://google.aip.dev/160 for more details. Currently supports filtering by: * request.evaluations:evaluation_id * request.evaluation_dataset:evaluation_dataset_id + * filter: 'placeholder-value', + * // Optional. Field to sort by. Supported fields are: "name" (ascending), "create_time" (descending), "update_time" (descending), "next_scheduled_execution" (ascending), and "last_completed_run.create_time" (descending). If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list EvaluationService.ListScheduledEvaluationRuns call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list scheduled evaluation runs from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "scheduledEvaluationRuns": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/scheduledEvaluationRuns' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a scheduled evaluation run. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.scheduledEvaluationRuns.patch({ + * // Identifier. The unique identifier of the scheduled evaluation run config. Format: projects/{projectId\}/locations/{locationId\}/apps/{appId\}/scheduledEvaluationRuns/{scheduledEvaluationRunId\} + * name: 'projects/my-project/locations/my-location/apps/my-app/scheduledEvaluationRuns/my-scheduledEvaluationRun', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "active": false, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "lastCompletedRun": "my_lastCompletedRun", + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "nextScheduledExecutionTime": "my_nextScheduledExecutionTime", + * // "request": {}, + * // "schedulingConfig": {}, + * // "totalExecutions": 0, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "active": false, + * // "createTime": "my_createTime", + * // "createdBy": "my_createdBy", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "lastCompletedRun": "my_lastCompletedRun", + * // "lastUpdatedBy": "my_lastUpdatedBy", + * // "name": "my_name", + * // "nextScheduledExecutionTime": "my_nextScheduledExecutionTime", + * // "request": {}, + * // "schedulingConfig": {}, + * // "totalExecutions": 0, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Create extends StandardParameters { + /** + * Required. The app to create the scheduled evaluation run for. Format: `projects/{project\}/locations/{location\}/apps/{app\}` + */ + parent?: string; + /** + * Optional. The ID to use for the scheduled evaluation run, which will become the final component of the scheduled evaluation run's resource name. If not provided, a unique ID will be automatically assigned. + */ + scheduledEvaluationRunId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ScheduledEvaluationRun; + } + export interface Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Delete extends StandardParameters { + /** + * Optional. The etag of the ScheduledEvaluationRun. If provided, it must match the server's etag. + */ + etag?: string; + /** + * Required. The resource name of the scheduled evaluation run to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Get extends StandardParameters { + /** + * Required. The resource name of the scheduled evaluation run to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the scheduled evaluation runs. See https://google.aip.dev/160 for more details. Currently supports filtering by: * request.evaluations:evaluation_id * request.evaluation_dataset:evaluation_dataset_id + */ + filter?: string; + /** + * Optional. Field to sort by. Supported fields are: "name" (ascending), "create_time" (descending), "update_time" (descending), "next_scheduled_execution" (ascending), and "last_completed_run.create_time" (descending). If not included, "update_time" will be the default. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list EvaluationService.ListScheduledEvaluationRuns call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list scheduled evaluation runs from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Scheduledevaluationruns$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the scheduled evaluation run config. Format: projects/{projectId\}/locations/{locationId\}/apps/{appId\}/scheduledEvaluationRuns/{scheduledEvaluationRunId\} + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ScheduledEvaluationRun; + } + + export class Resource$Projects$Locations$Apps$Sessions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Generates a session scoped token for chat widget to authenticate with Session APIs. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.sessions.generateChatToken({ + * // Required. The session name to generate the chat token for. Format: projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\} + * name: 'projects/my-project/locations/my-location/apps/my-app/sessions/my-session', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "deployment": "my_deployment", + * // "recaptchaToken": "my_recaptchaToken" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "chatToken": "my_chatToken", + * // "expireTime": "my_expireTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: StreamMethodOptions + ): Promise>; + generateChatToken( + params?: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options?: MethodOptions + ): Promise>; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateChatToken( + params: Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken, + callback: BodyResponseCallback + ): void; + generateChatToken( + callback: BodyResponseCallback + ): void; + generateChatToken( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:generateChatToken').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Initiates a single turn interaction with the CES agent within a session. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.sessions.runSession({ + * // Required. The unique identifier of the session. Format: `projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\}` + * session: + * 'projects/my-project/locations/my-location/apps/my-app/sessions/my-session', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "config": {}, + * // "inputs": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "outputs": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options: StreamMethodOptions + ): Promise>; + runSession( + params?: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options?: MethodOptions + ): Promise>; + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + runSession( + params: Params$Resource$Projects$Locations$Apps$Sessions$Runsession, + callback: BodyResponseCallback + ): void; + runSession(callback: BodyResponseCallback): void; + runSession( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Sessions$Runsession + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Sessions$Runsession; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Sessions$Runsession; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+session}:runSession').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['session'], + pathParams: ['session'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Sessions$Generatechattoken extends StandardParameters { + /** + * Required. The session name to generate the chat token for. Format: projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateChatTokenRequest; + } + export interface Params$Resource$Projects$Locations$Apps$Sessions$Runsession extends StandardParameters { + /** + * Required. The unique identifier of the session. Format: `projects/{project\}/locations/{location\}/apps/{app\}/sessions/{session\}` + */ + session?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RunSessionRequest; + } + + export class Resource$Projects$Locations$Apps$Tools { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new tool in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.tools.create({ + * // Required. The resource name of the app to create a tool in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool. + * toolId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Tools$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Tools$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/tools').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.tools.delete({ + * // Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples. * If `force = false`, the deletion will fail if any agents still reference the tool. * If `force = true`, all existing references from agents will be removed and the tool will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the tool to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/tools/my-tool', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Tools$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.tools.get({ + * // Required. The resource name of the tool to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/tools/my-tool', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Tools$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Tools$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists tools in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.tools.list({ + * // Optional. Filter to be applied when listing the tools. Use "include_system_tools=true" to include system tools in the response. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListTools call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list tools from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "tools": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Tools$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Tools$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/tools').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified tool. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.tools.patch({ + * // Identifier. The unique identifier of the tool. Format: - `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` for ## standalone tools. `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}/tools/{tool\}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected. + * name: 'projects/my-project/locations/my-location/apps/my-app/tools/my-tool', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientFunction": {}, + * // "connectorTool": {}, + * // "createTime": "my_createTime", + * // "dataStoreTool": {}, + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "fileSearchTool": {}, + * // "generatedSummary": "my_generatedSummary", + * // "googleSearchTool": {}, + * // "mcpTool": {}, + * // "name": "my_name", + * // "openApiTool": {}, + * // "pythonFunction": {}, + * // "systemTool": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime", + * // "widgetTool": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Tools$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Tools$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Tools$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Tools$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Tools$Create extends StandardParameters { + /** + * Required. The resource name of the app to create a tool in. + */ + parent?: string; + /** + * Optional. The ID to use for the tool, which will become the final component of the tool's resource name. If not provided, a unique ID will be automatically assigned for the tool. + */ + toolId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Tool; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$Delete extends StandardParameters { + /** + * Optional. The current etag of the tool. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the tool, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the tool, even if it is still referenced by agents/examples. * If `force = false`, the deletion will fail if any agents still reference the tool. * If `force = true`, all existing references from agents will be removed and the tool will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the tool to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$Get extends StandardParameters { + /** + * Required. The resource name of the tool to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the tools. Use "include_system_tools=true" to include system tools in the response. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListTools call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list tools from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Tools$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the tool. Format: - `projects/{project\}/locations/{location\}/apps/{app\}/tools/{tool\}` for ## standalone tools. `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}/tools/{tool\}` for tools retrieved from a toolset. These tools are dynamic and output-only, they cannot be referenced directly where a tool is expected. + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Tool; + } + + export class Resource$Projects$Locations$Apps$Toolsets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new toolset in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.toolsets.create({ + * // Required. The resource name of the app to create a toolset in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * // Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset. + * toolsetId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/toolsets').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.toolsets.delete({ + * // Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any agents still reference the toolset. * If `force = true`, all existing references from agents will be removed and the toolset will be deleted. + * force: 'placeholder-value', + * // Required. The resource name of the toolset to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.toolsets.get({ + * // Required. The resource name of the toolset to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists toolsets in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.toolsets.list({ + * // Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListToolsets call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list toolsets from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "toolsets": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Toolsets$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/toolsets').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.toolsets.patch({ + * // Identifier. The unique identifier of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + * name: 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * // Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "connectorToolset": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "executionType": "my_executionType", + * // "mcpToolset": {}, + * // "name": "my_name", + * // "openApiToolset": {}, + * // "toolFakeConfig": {}, + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Toolsets$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve the list of tools included in the specified toolset. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.toolsets.retrieveTools({ + * // Required. The name of the toolset to retrieve the tools for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + * toolset: + * 'projects/my-project/locations/my-location/apps/my-app/toolsets/my-toolset', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "toolIds": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "tools": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options: StreamMethodOptions + ): Promise>; + retrieveTools( + params?: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options?: MethodOptions + ): Promise>; + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveTools( + params: Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools, + callback: BodyResponseCallback + ): void; + retrieveTools( + callback: BodyResponseCallback + ): void; + retrieveTools( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+toolset}:retrieveTools').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['toolset'], + pathParams: ['toolset'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Create extends StandardParameters { + /** + * Required. The resource name of the app to create a toolset in. + */ + parent?: string; + /** + * Optional. The ID to use for the toolset, which will become the final component of the toolset's resource name. If not provided, a unique ID will be automatically assigned for the toolset. + */ + toolsetId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Toolset; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Delete extends StandardParameters { + /** + * Optional. The current etag of the toolset. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the toolset, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Optional. Indicates whether to forcefully delete the toolset, even if it is still referenced by app/agents. * If `force = false`, the deletion fails if any agents still reference the toolset. * If `force = true`, all existing references from agents will be removed and the toolset will be deleted. + */ + force?: boolean; + /** + * Required. The resource name of the toolset to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Get extends StandardParameters { + /** + * Required. The resource name of the toolset to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the toolsets. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListToolsets call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list toolsets from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Patch extends StandardParameters { + /** + * Identifier. The unique identifier of the toolset. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + name?: string; + /** + * Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Toolset; + } + export interface Params$Resource$Projects$Locations$Apps$Toolsets$Retrievetools extends StandardParameters { + /** + * Required. The name of the toolset to retrieve the tools for. Format: `projects/{project\}/locations/{location\}/apps/{app\}/toolsets/{toolset\}` + */ + toolset?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RetrieveToolsRequest; + } + + export class Resource$Projects$Locations$Apps$Versions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new app version in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.create({ + * // Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version. + * appVersionId: 'placeholder-value', + * // Required. The resource name of the app to create an app version in. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Apps$Versions$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Apps$Versions$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/versions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.delete({ + * // Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned. + * etag: 'placeholder-value', + * // Required. The resource name of the app version to delete. + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Apps$Versions$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.get({ + * // Required. The resource name of the app version to retrieve. + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "createTime": "my_createTime", + * // "creator": "my_creator", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "etag": "my_etag", + * // "name": "my_name", + * // "snapshot": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Apps$Versions$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Apps$Versions$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all app versions in the given app. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.list({ + * // Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details. + * filter: 'placeholder-value', + * // Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list AgentService.ListAppVersions call. + * pageToken: 'placeholder-value', + * // Required. The resource name of the app to list app versions from. + * parent: 'projects/my-project/locations/my-location/apps/my-app', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "appVersions": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Apps$Versions$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Apps$Versions$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/versions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Restores the specified app version. This will create a new app version from the current draft app and overwrite the current draft with the specified app version. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.apps.versions.restore({ + * // Required. The resource name of the app version to restore. + * name: 'projects/my-project/locations/my-location/apps/my-app/versions/my-version', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options: StreamMethodOptions + ): Promise>; + restore( + params?: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options?: MethodOptions + ): Promise>; + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Apps$Versions$Restore, + callback: BodyResponseCallback + ): void; + restore(callback: BodyResponseCallback): void; + restore( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Apps$Versions$Restore + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Apps$Versions$Restore; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Apps$Versions$Restore; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:restore').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Apps$Versions$Create extends StandardParameters { + /** + * Optional. The ID to use for the app version, which will become the final component of the app version's resource name. If not provided, a unique ID will be automatically assigned for the app version. + */ + appVersionId?: string; + /** + * Required. The resource name of the app to create an app version in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AppVersion; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$Delete extends StandardParameters { + /** + * Optional. The current etag of the app version. If an etag is not provided, the deletion will overwrite any concurrent changes. If an etag is provided and does not match the current etag of the app version, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. The resource name of the app version to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$Get extends StandardParameters { + /** + * Required. The resource name of the app version to retrieve. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$List extends StandardParameters { + /** + * Optional. Filter to be applied when listing the app versions. See https://google.aip.dev/160 for more details. + */ + filter?: string; + /** + * Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list AgentService.ListAppVersions call. + */ + pageToken?: string; + /** + * Required. The resource name of the app to list app versions from. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Apps$Versions$Restore extends StandardParameters { + /** + * Required. The resource name of the app version to restore. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RestoreAppVersionRequest; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.operations.cancel({ + * // The name of the operation resource to be cancelled. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): Promise>; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): Promise>; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:cancel').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.operations.delete({ + * // The name of the operation resource to be deleted. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.operations.get({ + * // The name of the operation resource. + * name: 'projects/my-project/locations/my-location/operations/my-operation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/ces.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const ces = google.ces('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/ces', + * 'https://www.googleapis.com/auth/cloud-platform', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await ces.projects.locations.operations.list({ + * // The standard list filter. + * filter: 'placeholder-value', + * // The name of the operation's parent resource. + * name: 'projects/my-project/locations/my-location', + * // The standard list page size. + * pageSize: 'placeholder-value', + * // The standard list page token. + * pageToken: 'placeholder-value', + * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "operations": [], + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Operations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://ces.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Operations$Cancel extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Projects$Locations$Operations$Delete extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$List extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + /** + * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + */ + returnPartialSuccess?: boolean; + } +} diff --git a/src/apis/ces/webpack.config.js b/src/apis/ces/webpack.config.js new file mode 100644 index 0000000000..68232a8ab1 --- /dev/null +++ b/src/apis/ces/webpack.config.js @@ -0,0 +1,79 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Use `npm run webpack` to produce Webpack bundle for this library. + +const path = require('path'); + +module.exports = { + entry: './index.ts', + resolve: { + extensions: ['.ts', '.js', '.json'], + fallback: { + crypto: false, + child_process: false, + fs: false, + http2: false, + buffer: 'browserify', + process: false, + os: false, + querystring: false, + path: false, + stream: 'stream-browserify', + url: false, + util: false, + zlib: false, + }, + }, + output: { + library: 'Ces', + filename: 'ces.min.js', + path: path.resolve(__dirname, 'dist'), + }, + module: { + rules: [ + { + test: /node_modules[\\/]google-auth-library[\\/]src[\\/]crypto[\\/]node[\\/]crypto/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]https-proxy-agent[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gcp-metadata[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gtoken[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]pkginfo[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]semver[\\/]/, + use: 'null-loader', + }, + { + test: /\.ts$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + mode: 'production', + plugins: [], +}; From 6205fa76d053b5319925de2949cd530e14f614da Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 10/42] feat(clouddeploy): update the API #### clouddeploy:v1 The following keys were added: - schemas.CloudRunMetadata.properties.workerPool.description - schemas.CloudRunMetadata.properties.workerPool.readOnly - schemas.CloudRunMetadata.properties.workerPool.type - schemas.CloudRunRenderMetadata.properties.workerPool.description - schemas.CloudRunRenderMetadata.properties.workerPool.readOnly - schemas.CloudRunRenderMetadata.properties.workerPool.type The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/clouddeploy-v1.json | 14 ++++++++++++-- src/apis/clouddeploy/v1.ts | 10 +++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/discovery/clouddeploy-v1.json b/discovery/clouddeploy-v1.json index 7d2a09ae56..e60563f8e3 100644 --- a/discovery/clouddeploy-v1.json +++ b/discovery/clouddeploy-v1.json @@ -160,7 +160,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "clouddeploy.projects.locations.list", @@ -2359,7 +2359,7 @@ } } }, - "revision": "20260109", + "revision": "20260128", "rootUrl": "https://clouddeploy.googleapis.com/", "schemas": { "AbandonReleaseRequest": { @@ -3192,6 +3192,11 @@ }, "readOnly": true, "type": "array" + }, + "workerPool": { + "description": "Output only. The Cloud Run worker pool associated with a `Rollout`. Format is `projects/{project}/locations/{location}/workerPools/{worker_pool}`.", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -3204,6 +3209,11 @@ "description": "Output only. The name of the Cloud Run Service in the rendered manifest. Format is `projects/{project}/locations/{location}/services/{service}`.", "readOnly": true, "type": "string" + }, + "workerPool": { + "description": "Output only. The name of the Cloud Run Worker Pool in the rendered manifest. Format is `projects/{project}/locations/{location}/workerPools/{worker_pool}`.", + "readOnly": true, + "type": "string" } }, "type": "object" diff --git a/src/apis/clouddeploy/v1.ts b/src/apis/clouddeploy/v1.ts index 60abb0561f..1820a4e8ec 100644 --- a/src/apis/clouddeploy/v1.ts +++ b/src/apis/clouddeploy/v1.ts @@ -677,6 +677,10 @@ export namespace clouddeploy_v1 { * Output only. The Cloud Run Service urls that are associated with a `Rollout`. */ serviceUrls?: string[] | null; + /** + * Output only. The Cloud Run worker pool associated with a `Rollout`. Format is `projects/{project\}/locations/{location\}/workerPools/{worker_pool\}`. + */ + workerPool?: string | null; } /** * CloudRunRenderMetadata contains Cloud Run information associated with a `Release` render. @@ -686,6 +690,10 @@ export namespace clouddeploy_v1 { * Output only. The name of the Cloud Run Service in the rendered manifest. Format is `projects/{project\}/locations/{location\}/services/{service\}`. */ service?: string | null; + /** + * Output only. The name of the Cloud Run Worker Pool in the rendered manifest. Format is `projects/{project\}/locations/{location\}/workerPools/{worker_pool\}`. + */ + workerPool?: string | null; } /** * Service-wide configuration. @@ -3712,7 +3720,7 @@ export namespace clouddeploy_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From f091f98dd25afaa89b06c61ff08cd3cebad86e4a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 11/42] fix(config): update the API #### config:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/config-v1.json | 4 ++-- src/apis/config/v1.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/discovery/config-v1.json b/discovery/config-v1.json index 4a7f300320..af27654b02 100644 --- a/discovery/config-v1.json +++ b/discovery/config-v1.json @@ -160,7 +160,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "config.projects.locations.list", @@ -1409,7 +1409,7 @@ } } }, - "revision": "20251202", + "revision": "20260128", "rootUrl": "https://config.googleapis.com/", "schemas": { "ApplyResults": { diff --git a/src/apis/config/v1.ts b/src/apis/config/v1.ts index ac067bc2f0..19c5fb650c 100644 --- a/src/apis/config/v1.ts +++ b/src/apis/config/v1.ts @@ -1581,7 +1581,7 @@ export namespace config_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From f836ae48748a10f4f9d59f8018f1e81e83293a02 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 12/42] feat(dataflow): update the API #### dataflow:v1b3 The following keys were added: - schemas.GetWorkerStacktracesRequest.properties.endTime.description - schemas.GetWorkerStacktracesRequest.properties.endTime.format - schemas.GetWorkerStacktracesRequest.properties.endTime.type --- discovery/dataflow-v1b3.json | 7 ++++++- src/apis/dataflow/v1b3.ts | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/discovery/dataflow-v1b3.json b/discovery/dataflow-v1b3.json index dd1236b10d..35a839bf5a 100644 --- a/discovery/dataflow-v1b3.json +++ b/discovery/dataflow-v1b3.json @@ -2375,7 +2375,7 @@ } } }, - "revision": "20260118", + "revision": "20260127", "rootUrl": "https://dataflow.googleapis.com/", "schemas": { "ApproximateProgress": { @@ -3971,6 +3971,11 @@ "description": "Request to get worker stacktraces from debug capture.", "id": "GetWorkerStacktracesRequest", "properties": { + "endTime": { + "description": "The end time for the stacktrace query. The returned stacktraces will be a recent stack trace at or shortly before this time.", + "format": "google-datetime", + "type": "string" + }, "workerId": { "description": "The worker for which to get stacktraces. The returned stacktraces will be for the SDK harness running on this worker.", "type": "string" diff --git a/src/apis/dataflow/v1b3.ts b/src/apis/dataflow/v1b3.ts index eb2abc7294..d7659a6d42 100644 --- a/src/apis/dataflow/v1b3.ts +++ b/src/apis/dataflow/v1b3.ts @@ -1215,6 +1215,10 @@ export namespace dataflow_v1b3 { * Request to get worker stacktraces from debug capture. */ export interface Schema$GetWorkerStacktracesRequest { + /** + * The end time for the stacktrace query. The returned stacktraces will be a recent stack trace at or shortly before this time. + */ + endTime?: string | null; /** * The worker for which to get stacktraces. The returned stacktraces will be for the SDK harness running on this worker. */ @@ -8921,6 +8925,7 @@ export namespace dataflow_v1b3 { * requestBody: { * // request body parameters * // { + * // "endTime": "my_endTime", * // "workerId": "my_workerId" * // } * }, From e3901dc5c7212a96546afce72e7d66bd9a510351 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 13/42] feat(datafusion): update the API #### datafusion:v1beta1 The following keys were added: - schemas.LoggingConfig.properties.enableInstanceV2Logs.description - schemas.LoggingConfig.properties.enableInstanceV2Logs.type The following keys were changed: - resources.projects.resources.locations.resources.operations.methods.list.parameters.returnPartialSuccess.description - schemas.ListOperationsResponse.properties.unreachable.description #### datafusion:v1 The following keys were added: - schemas.LoggingConfig.properties.enableInstanceV2Logs.description - schemas.LoggingConfig.properties.enableInstanceV2Logs.type The following keys were changed: - resources.projects.resources.locations.resources.operations.methods.list.parameters.returnPartialSuccess.description - schemas.ListOperationsResponse.properties.unreachable.description --- discovery/datafusion-v1.json | 10 +++++++--- discovery/datafusion-v1beta1.json | 10 +++++++--- src/apis/datafusion/v1.ts | 10 +++++++--- src/apis/datafusion/v1beta1.ts | 10 +++++++--- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/discovery/datafusion-v1.json b/discovery/datafusion-v1.json index c500de36f1..6a483090a7 100644 --- a/discovery/datafusion-v1.json +++ b/discovery/datafusion-v1.json @@ -875,7 +875,7 @@ "type": "string" }, "returnPartialSuccess": { - "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", "location": "query", "type": "boolean" } @@ -940,7 +940,7 @@ } } }, - "revision": "20251203", + "revision": "20260202", "rootUrl": "https://datafusion.googleapis.com/", "schemas": { "Accelerator": { @@ -1506,7 +1506,7 @@ "type": "array" }, "unreachable": { - "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations.", + "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.", "items": { "type": "string" }, @@ -1553,6 +1553,10 @@ "description": "Logging configuration for a Data Fusion instance.", "id": "LoggingConfig", "properties": { + "enableInstanceV2Logs": { + "description": "Optional. Option to enable the InstanceV2 logging for this instance. This field is supported only in CDF patch revision versions 6.11.1.1 and above.", + "type": "boolean" + }, "instanceCloudLoggingDisabled": { "description": "Optional. Option to determine whether instance logs should be written to Cloud Logging. By default, instance logs are written to Cloud Logging.", "type": "boolean" diff --git a/discovery/datafusion-v1beta1.json b/discovery/datafusion-v1beta1.json index 1ab5445150..a60c3cc795 100644 --- a/discovery/datafusion-v1beta1.json +++ b/discovery/datafusion-v1beta1.json @@ -1073,7 +1073,7 @@ "type": "string" }, "returnPartialSuccess": { - "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", "location": "query", "type": "boolean" } @@ -1138,7 +1138,7 @@ } } }, - "revision": "20251203", + "revision": "20260202", "rootUrl": "https://datafusion.googleapis.com/", "schemas": { "Accelerator": { @@ -1737,7 +1737,7 @@ "type": "array" }, "unreachable": { - "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations.", + "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.", "items": { "type": "string" }, @@ -1784,6 +1784,10 @@ "description": "Logging configuration for a Data Fusion instance.", "id": "LoggingConfig", "properties": { + "enableInstanceV2Logs": { + "description": "Optional. Option to enable the InstanceV2 logging for this instance. This field is supported only in CDF patch revision versions 6.11.1.1 and above.", + "type": "boolean" + }, "instanceCloudLoggingDisabled": { "description": "Optional. Option to determine whether instance logs should be written to Cloud Logging. By default, instance logs are written to Cloud Logging.", "type": "boolean" diff --git a/src/apis/datafusion/v1.ts b/src/apis/datafusion/v1.ts index cf096885a2..c77657afe8 100644 --- a/src/apis/datafusion/v1.ts +++ b/src/apis/datafusion/v1.ts @@ -494,7 +494,7 @@ export namespace datafusion_v1 { */ operations?: Schema$Operation[]; /** - * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations. + * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. */ unreachable?: string[] | null; } @@ -527,6 +527,10 @@ export namespace datafusion_v1 { * Logging configuration for a Data Fusion instance. */ export interface Schema$LoggingConfig { + /** + * Optional. Option to enable the InstanceV2 logging for this instance. This field is supported only in CDF patch revision versions 6.11.1.1 and above. + */ + enableInstanceV2Logs?: boolean | null; /** * Optional. Option to determine whether instance logs should be written to Cloud Logging. By default, instance logs are written to Cloud Logging. */ @@ -3622,7 +3626,7 @@ export namespace datafusion_v1 { * pageSize: 'placeholder-value', * // The standard list page token. * pageToken: 'placeholder-value', - * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `"projects/example/locations/-"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); @@ -3774,7 +3778,7 @@ export namespace datafusion_v1 { */ pageToken?: string; /** - * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `"projects/example/locations/-"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. */ returnPartialSuccess?: boolean; } diff --git a/src/apis/datafusion/v1beta1.ts b/src/apis/datafusion/v1beta1.ts index 30d398cf3e..e82d1569ce 100644 --- a/src/apis/datafusion/v1beta1.ts +++ b/src/apis/datafusion/v1beta1.ts @@ -520,7 +520,7 @@ export namespace datafusion_v1beta1 { */ operations?: Schema$Operation[]; /** - * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations. + * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. */ unreachable?: string[] | null; } @@ -553,6 +553,10 @@ export namespace datafusion_v1beta1 { * Logging configuration for a Data Fusion instance. */ export interface Schema$LoggingConfig { + /** + * Optional. Option to enable the InstanceV2 logging for this instance. This field is supported only in CDF patch revision versions 6.11.1.1 and above. + */ + enableInstanceV2Logs?: boolean | null; /** * Optional. Option to determine whether instance logs should be written to Cloud Logging. By default, instance logs are written to Cloud Logging. */ @@ -4650,7 +4654,7 @@ export namespace datafusion_v1beta1 { * pageSize: 'placeholder-value', * // The standard list page token. * pageToken: 'placeholder-value', - * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `"projects/example/locations/-"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); @@ -4802,7 +4806,7 @@ export namespace datafusion_v1beta1 { */ pageToken?: string; /** - * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `"projects/example/locations/-"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. */ returnPartialSuccess?: boolean; } From ea664c38b3dad6a46c28c13b5b9d5c33b224ae71 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 14/42] feat(datalabeling): update the API #### datalabeling:v1beta1 The following keys were added: - resources.projects.resources.operations.methods.list.parameters.returnPartialSuccess.description - resources.projects.resources.operations.methods.list.parameters.returnPartialSuccess.location - resources.projects.resources.operations.methods.list.parameters.returnPartialSuccess.type - schemas.GoogleLongrunningListOperationsResponse.properties.unreachable.description - schemas.GoogleLongrunningListOperationsResponse.properties.unreachable.items.type - schemas.GoogleLongrunningListOperationsResponse.properties.unreachable.type --- discovery/datalabeling-v1beta1.json | 14 +++++++++++++- src/apis/datalabeling/v1beta1.ts | 13 ++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/discovery/datalabeling-v1beta1.json b/discovery/datalabeling-v1beta1.json index 4610493772..e225a6517e 100644 --- a/discovery/datalabeling-v1beta1.json +++ b/discovery/datalabeling-v1beta1.json @@ -1581,6 +1581,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "path": "v1beta1/{+name}/operations", @@ -1596,7 +1601,7 @@ } } }, - "revision": "20250127", + "revision": "20260201", "rootUrl": "https://datalabeling.googleapis.com/", "schemas": { "GoogleCloudDatalabelingV1alpha1CreateInstructionMetadata": { @@ -5580,6 +5585,13 @@ "$ref": "GoogleLongrunningOperation" }, "type": "array" + }, + "unreachable": { + "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" diff --git a/src/apis/datalabeling/v1beta1.ts b/src/apis/datalabeling/v1beta1.ts index 4db166a624..00ec4ccf16 100644 --- a/src/apis/datalabeling/v1beta1.ts +++ b/src/apis/datalabeling/v1beta1.ts @@ -3174,6 +3174,10 @@ export namespace datalabeling_v1beta1 { * A list of operations that matches the specified filter in the request. */ operations?: Schema$GoogleLongrunningOperation[]; + /** + * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. + */ + unreachable?: string[] | null; } /** * This resource represents a long-running operation that is the result of a network API call. @@ -10816,13 +10820,16 @@ export namespace datalabeling_v1beta1 { * pageSize: 'placeholder-value', * // The standard list page token. * pageToken: 'placeholder-value', + * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { * // "nextPageToken": "my_nextPageToken", - * // "operations": [] + * // "operations": [], + * // "unreachable": [] * // } * } * @@ -10967,5 +10974,9 @@ export namespace datalabeling_v1beta1 { * The standard list page token. */ pageToken?: string; + /** + * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + */ + returnPartialSuccess?: boolean; } } From b3293ede5a3feb1a34efc6817f20a0c7e62cc8ee Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 15/42] fix(datastream): update the API #### datastream:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/datastream-v1.json | 4 ++-- src/apis/datastream/v1.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/discovery/datastream-v1.json b/discovery/datastream-v1.json index 29a8a720bd..a65c747bb4 100644 --- a/discovery/datastream-v1.json +++ b/discovery/datastream-v1.json @@ -171,7 +171,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "datastream.projects.locations.list", @@ -1266,7 +1266,7 @@ } } }, - "revision": "20260114", + "revision": "20260128", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AppendOnly": { diff --git a/src/apis/datastream/v1.ts b/src/apis/datastream/v1.ts index 9a4b16495a..5948fca64d 100644 --- a/src/apis/datastream/v1.ts +++ b/src/apis/datastream/v1.ts @@ -2989,7 +2989,7 @@ export namespace datastream_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From 163f2f429349ca0c93f035e60b4af307ad6d6ac1 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:52 +0000 Subject: [PATCH 16/42] feat(displayvideo)!: update the API BREAKING CHANGE: This release has breaking changes. #### displayvideo:v3 The following keys were deleted: - schemas.AdGroupAd.properties.advertiserId.readOnly The following keys were added: - schemas.AdGroupAd.properties.audioAd.readOnly - schemas.AdGroupAd.properties.bumperAd.readOnly - schemas.AdGroupAd.properties.displayVideoSourceAd.readOnly - schemas.AdGroupAd.properties.inStreamAd.readOnly - schemas.AdGroupAd.properties.mastheadAd.readOnly - schemas.AdGroupAd.properties.nonSkippableAd.readOnly - schemas.AdGroupAd.properties.videoDiscoverAd.readOnly - schemas.AdGroupAd.properties.videoPerformanceAd.readOnly The following keys were changed: - schemas.AdGroupAd.properties.adGroupId.description - schemas.AdGroupAd.properties.advertiserId.description - schemas.AdGroupAd.properties.audioAd.description - schemas.AdGroupAd.properties.bumperAd.description - schemas.AdGroupAd.properties.displayName.description - schemas.AdGroupAd.properties.displayVideoSourceAd.description - schemas.AdGroupAd.properties.entityStatus.description - schemas.AdGroupAd.properties.inStreamAd.description - schemas.AdGroupAd.properties.mastheadAd.description - schemas.AdGroupAd.properties.nonSkippableAd.description - schemas.AdGroupAd.properties.videoDiscoverAd.description - schemas.AdGroupAd.properties.videoPerformanceAd.description --- discovery/displayvideo-v3.json | 35 ++++++++++++++++++++-------------- src/apis/displayvideo/v3.ts | 24 +++++++++++------------ 2 files changed, 33 insertions(+), 26 deletions(-) diff --git a/discovery/displayvideo-v3.json b/discovery/displayvideo-v3.json index 43430245fc..1dfb242fea 100644 --- a/discovery/displayvideo-v3.json +++ b/discovery/displayvideo-v3.json @@ -8156,7 +8156,7 @@ } } }, - "revision": "20260127", + "revision": "20260204", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -8373,7 +8373,7 @@ "type": "string" }, "adGroupId": { - "description": "The unique ID of the ad group that the ad belongs to. *Caution*: Parent ad groups for Demand Gen ads are not currently retrieveable using `advertisers.adGroups.list` or `advertisers.adGroups.get`. Demand Gen ads can be identified by the absence of the `ad_details` union field.", + "description": "Required. The unique ID of the ad group that the ad belongs to.", "format": "int64", "type": "string" }, @@ -8390,29 +8390,31 @@ "type": "array" }, "advertiserId": { - "description": "Output only. The unique ID of the advertiser the ad belongs to.", + "description": "Required. The unique ID of the advertiser the ad belongs to.", "format": "int64", - "readOnly": true, "type": "string" }, "audioAd": { "$ref": "AudioAd", - "description": "Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives." + "description": "Output only. Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives.", + "readOnly": true }, "bumperAd": { "$ref": "BumperAd", - "description": "Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach." + "description": "Output only. Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach.", + "readOnly": true }, "displayName": { - "description": "The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes.", + "description": "Required. The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes.", "type": "string" }, "displayVideoSourceAd": { "$ref": "DisplayVideoSourceAd", - "description": "Details of an ad sourced from a Display & Video 360 creative." + "description": "Output only. Details of an ad sourced from a Display & Video 360 creative.", + "readOnly": true }, "entityStatus": { - "description": "The entity status of the ad.", + "description": "Required. The entity status of the ad.", "enum": [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", @@ -8433,11 +8435,13 @@ }, "inStreamAd": { "$ref": "InStreamAd", - "description": "Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives." + "description": "Output only. Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives.", + "readOnly": true }, "mastheadAd": { "$ref": "MastheadAd", - "description": "Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826)." + "description": "Output only. Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826).", + "readOnly": true }, "name": { "description": "Output only. The resource name of the ad.", @@ -8446,15 +8450,18 @@ }, "nonSkippableAd": { "$ref": "NonSkippableAd", - "description": "Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives." + "description": "Output only. Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives.", + "readOnly": true }, "videoDiscoverAd": { "$ref": "VideoDiscoveryAd", - "description": "Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery." + "description": "Output only. Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery.", + "readOnly": true }, "videoPerformanceAd": { "$ref": "VideoPerformanceAd", - "description": "Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product." + "description": "Output only. Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product.", + "readOnly": true } }, "type": "object" diff --git a/src/apis/displayvideo/v3.ts b/src/apis/displayvideo/v3.ts index 6c91034635..b94321349c 100644 --- a/src/apis/displayvideo/v3.ts +++ b/src/apis/displayvideo/v3.ts @@ -236,7 +236,7 @@ export namespace displayvideo_v3 { */ adGroupAdId?: string | null; /** - * The unique ID of the ad group that the ad belongs to. *Caution*: Parent ad groups for Demand Gen ads are not currently retrieveable using `advertisers.adGroups.list` or `advertisers.adGroups.get`. Demand Gen ads can be identified by the absence of the `ad_details` union field. + * Required. The unique ID of the ad group that the ad belongs to. */ adGroupId?: string | null; /** @@ -248,35 +248,35 @@ export namespace displayvideo_v3 { */ adUrls?: Schema$AdUrl[]; /** - * Output only. The unique ID of the advertiser the ad belongs to. + * Required. The unique ID of the advertiser the ad belongs to. */ advertiserId?: string | null; /** - * Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives. + * Output only. Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives. */ audioAd?: Schema$AudioAd; /** - * Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach. + * Output only. Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach. */ bumperAd?: Schema$BumperAd; /** - * The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes. + * Required. The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes. */ displayName?: string | null; /** - * Details of an ad sourced from a Display & Video 360 creative. + * Output only. Details of an ad sourced from a Display & Video 360 creative. */ displayVideoSourceAd?: Schema$DisplayVideoSourceAd; /** - * The entity status of the ad. + * Required. The entity status of the ad. */ entityStatus?: string | null; /** - * Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives. + * Output only. Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives. */ inStreamAd?: Schema$InStreamAd; /** - * Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826). + * Output only. Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826). */ mastheadAd?: Schema$MastheadAd; /** @@ -284,15 +284,15 @@ export namespace displayvideo_v3 { */ name?: string | null; /** - * Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives. + * Output only. Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives. */ nonSkippableAd?: Schema$NonSkippableAd; /** - * Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery. + * Output only. Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery. */ videoDiscoverAd?: Schema$VideoDiscoveryAd; /** - * Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product. + * Output only. Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product. */ videoPerformanceAd?: Schema$VideoPerformanceAd; } From 5b759982033730677f6edb3530066dc1d66f2eb4 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 17/42] fix(dlp): update the API #### dlp:v2 The following keys were changed: - schemas.GooglePrivacyDlpV2CustomInfoType.properties.detectionRules.description - schemas.GooglePrivacyDlpV2CustomInfoType.properties.exclusionType.description --- discovery/dlp-v2.json | 6 +++--- src/apis/dlp/v2.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/discovery/dlp-v2.json b/discovery/dlp-v2.json index bc051fe40e..fd394d927e 100644 --- a/discovery/dlp-v2.json +++ b/discovery/dlp-v2.json @@ -5128,7 +5128,7 @@ } } }, - "revision": "20260123", + "revision": "20260129", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { @@ -6793,7 +6793,7 @@ "id": "GooglePrivacyDlpV2CustomInfoType", "properties": { "detectionRules": { - "description": "Set of detection rules to apply to all findings of this CustomInfoType. Rules are applied in order that they are specified. Not supported for the `surrogate_type` CustomInfoType.", + "description": "Set of detection rules to apply to all findings of this CustomInfoType. Rules are applied in order that they are specified. Not supported for the `surrogate_type`, `metadata_key_value_expression`, and `prompt` CustomInfoType.", "items": { "$ref": "GooglePrivacyDlpV2DetectionRule" }, @@ -6804,7 +6804,7 @@ "description": "A list of phrases to detect as a CustomInfoType." }, "exclusionType": { - "description": "If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching.", + "description": "If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Not supported for the `metadata_key_value_expression` and `prompt` CustomInfoType.", "enum": [ "EXCLUSION_TYPE_UNSPECIFIED", "EXCLUSION_TYPE_EXCLUDE" diff --git a/src/apis/dlp/v2.ts b/src/apis/dlp/v2.ts index 061b866294..9f30f44e64 100644 --- a/src/apis/dlp/v2.ts +++ b/src/apis/dlp/v2.ts @@ -1242,7 +1242,7 @@ export namespace dlp_v2 { */ export interface Schema$GooglePrivacyDlpV2CustomInfoType { /** - * Set of detection rules to apply to all findings of this CustomInfoType. Rules are applied in order that they are specified. Not supported for the `surrogate_type` CustomInfoType. + * Set of detection rules to apply to all findings of this CustomInfoType. Rules are applied in order that they are specified. Not supported for the `surrogate_type`, `metadata_key_value_expression`, and `prompt` CustomInfoType. */ detectionRules?: Schema$GooglePrivacyDlpV2DetectionRule[]; /** @@ -1250,7 +1250,7 @@ export namespace dlp_v2 { */ dictionary?: Schema$GooglePrivacyDlpV2Dictionary; /** - * If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. + * If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Not supported for the `metadata_key_value_expression` and `prompt` CustomInfoType. */ exclusionType?: string | null; /** From 31be2d5f4ae48a21613f9f684432f8824abd93c2 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 18/42] feat(documentai)!: update the API BREAKING CHANGE: This release has breaking changes. #### documentai:v1beta3 The following keys were deleted: - schemas.GoogleCloudDocumentaiV1beta3Dataset.properties.spannerIndexingConfig.$ref - schemas.GoogleCloudDocumentaiV1beta3Dataset.properties.spannerIndexingConfig.description - schemas.GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig.description - schemas.GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig.id - schemas.GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig.type The following keys were added: - endpoints - schemas.GoogleCloudDocumentaiV1beta3Evaluation.properties.revisions.description - schemas.GoogleCloudDocumentaiV1beta3Evaluation.properties.revisions.items.$ref - schemas.GoogleCloudDocumentaiV1beta3Evaluation.properties.revisions.type - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.description - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.id - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.allEntitiesMetrics.$ref - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.allEntitiesMetrics.description - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.allEntitiesMetrics.readOnly - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.documentCounters.$ref - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.documentCounters.description - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.documentCounters.readOnly - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.entityMetrics.additionalProperties.$ref - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.entityMetrics.description - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.entityMetrics.readOnly - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.entityMetrics.type - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.revisionId.description - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.revisionId.readOnly - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.properties.revisionId.type - schemas.GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision.type The following keys were changed: - resources.projects.resources.locations.methods.list.description - resources.projects.resources.locations.resources.schemas.methods.list.parameters.pageToken.description - resources.projects.resources.locations.resources.schemas.methods.patch.parameters.updateMask.description - resources.projects.resources.locations.resources.schemas.resources.schemaVersions.methods.list.parameters.pageToken.description - resources.projects.resources.locations.resources.schemas.resources.schemaVersions.methods.patch.parameters.updateMask.description - schemas.CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRule.properties.description.description - schemas.GoogleCloudDocumentaiUiv1beta3DocumentSchema.properties.displayName.description - schemas.GoogleCloudDocumentaiUiv1beta3DocumentSchemaEntityType.properties.enumValues.description - schemas.GoogleCloudDocumentaiUiv1beta3DocumentSchemaEntityType.properties.name.description - schemas.GoogleCloudDocumentaiUiv1beta3DocumentSchemaMetadata.properties.skipNamingValidation.description - schemas.GoogleCloudDocumentaiUiv1beta3EvaluationMetrics.properties.f1Score.description - schemas.GoogleCloudDocumentaiUiv1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo.properties.finetuningAllowed.description - schemas.GoogleCloudDocumentaiUiv1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo.properties.minTrainLabeledDocuments.description - schemas.GoogleCloudDocumentaiUiv1beta3Schema.properties.displayName.description - schemas.GoogleCloudDocumentaiV1beta3Document.properties.blobAssets.description - schemas.GoogleCloudDocumentaiV1beta3Document.properties.entitiesRevisionId.description - schemas.GoogleCloudDocumentaiV1beta3DocumentBlobAsset.description - schemas.GoogleCloudDocumentaiV1beta3DocumentBlobAsset.properties.content.description - schemas.GoogleCloudDocumentaiV1beta3DocumentChunkedDocumentChunkChunkField.description - schemas.GoogleCloudDocumentaiV1beta3DocumentEntity.properties.mentionText.description - schemas.GoogleCloudDocumentaiV1beta3DocumentEntity.properties.normalizedValue.description - schemas.GoogleCloudDocumentaiV1beta3DocumentEntity.properties.type.description - schemas.GoogleCloudDocumentaiV1beta3DocumentPage.properties.visualElements.description - schemas.GoogleCloudDocumentaiV1beta3DocumentPageFormField.properties.fieldName.description - schemas.GoogleCloudDocumentaiV1beta3DocumentPageLayout.properties.confidence.description - schemas.GoogleCloudDocumentaiV1beta3DocumentPageVisualElement.description - schemas.GoogleCloudDocumentaiV1beta3DocumentRevisionHumanReview.properties.state.description - schemas.GoogleCloudDocumentaiV1beta3DocumentSchema.properties.displayName.description - schemas.GoogleCloudDocumentaiV1beta3DocumentSchemaEntityType.properties.enumValues.description - schemas.GoogleCloudDocumentaiV1beta3DocumentSchemaEntityType.properties.name.description - schemas.GoogleCloudDocumentaiV1beta3DocumentSchemaMetadata.properties.skipNamingValidation.description - schemas.GoogleCloudDocumentaiV1beta3EvaluationMetrics.properties.f1Score.description - schemas.GoogleCloudDocumentaiV1beta3NextSchema.properties.labels.description - schemas.GoogleCloudDocumentaiV1beta3ProcessOptionsLayoutConfigChunkingConfig.properties.breakpointPercentileThreshold.description - schemas.GoogleCloudDocumentaiV1beta3ProcessOptionsLayoutConfigChunkingConfig.properties.semanticChunkingGroupSize.description - schemas.GoogleCloudDocumentaiV1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo.properties.finetuningAllowed.description - schemas.GoogleCloudDocumentaiV1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo.properties.minTrainLabeledDocuments.description - schemas.GoogleCloudDocumentaiV1beta3SchemaVersion.properties.labels.description #### documentai:v1 The following keys were deleted: - schemas.GoogleCloudDocumentaiV1beta3Dataset.properties.spannerIndexingConfig.$ref - schemas.GoogleCloudDocumentaiV1beta3Dataset.properties.spannerIndexingConfig.description - schemas.GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig.description - schemas.GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig.id - schemas.GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig.type The following keys were added: - endpoints - schemas.GoogleCloudDocumentaiV1Evaluation.properties.revisions.description - schemas.GoogleCloudDocumentaiV1Evaluation.properties.revisions.items.$ref - schemas.GoogleCloudDocumentaiV1Evaluation.properties.revisions.type - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.description - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.id - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.allEntitiesMetrics.$ref - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.allEntitiesMetrics.description - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.allEntitiesMetrics.readOnly - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.documentCounters.$ref - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.documentCounters.description - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.documentCounters.readOnly - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.entityMetrics.additionalProperties.$ref - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.entityMetrics.description - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.entityMetrics.readOnly - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.entityMetrics.type - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.revisionId.description - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.revisionId.readOnly - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.properties.revisionId.type - schemas.GoogleCloudDocumentaiV1EvaluationEvaluationRevision.type The following keys were changed: - resources.projects.resources.locations.methods.list.description - resources.projects.resources.locations.resources.schemas.methods.list.parameters.pageToken.description - resources.projects.resources.locations.resources.schemas.methods.patch.parameters.updateMask.description - resources.projects.resources.locations.resources.schemas.resources.schemaVersions.methods.list.parameters.pageToken.description - resources.projects.resources.locations.resources.schemas.resources.schemaVersions.methods.patch.parameters.updateMask.description - schemas.CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRule.properties.description.description - schemas.GoogleCloudDocumentaiUiv1beta3DocumentSchema.properties.displayName.description - schemas.GoogleCloudDocumentaiUiv1beta3DocumentSchemaEntityType.properties.enumValues.description - schemas.GoogleCloudDocumentaiUiv1beta3DocumentSchemaEntityType.properties.name.description - schemas.GoogleCloudDocumentaiUiv1beta3DocumentSchemaMetadata.properties.skipNamingValidation.description - schemas.GoogleCloudDocumentaiUiv1beta3EvaluationMetrics.properties.f1Score.description - schemas.GoogleCloudDocumentaiUiv1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo.properties.finetuningAllowed.description - schemas.GoogleCloudDocumentaiUiv1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo.properties.minTrainLabeledDocuments.description - schemas.GoogleCloudDocumentaiUiv1beta3Schema.properties.displayName.description - schemas.GoogleCloudDocumentaiV1Document.properties.entitiesRevisionId.description - schemas.GoogleCloudDocumentaiV1DocumentEntity.properties.mentionText.description - schemas.GoogleCloudDocumentaiV1DocumentEntity.properties.normalizedValue.description - schemas.GoogleCloudDocumentaiV1DocumentEntity.properties.type.description - schemas.GoogleCloudDocumentaiV1DocumentPage.properties.visualElements.description - schemas.GoogleCloudDocumentaiV1DocumentPageFormField.properties.fieldName.description - schemas.GoogleCloudDocumentaiV1DocumentPageLayout.properties.confidence.description - schemas.GoogleCloudDocumentaiV1DocumentPageVisualElement.description - schemas.GoogleCloudDocumentaiV1DocumentRevisionHumanReview.properties.state.description - schemas.GoogleCloudDocumentaiV1DocumentSchema.properties.displayName.description - schemas.GoogleCloudDocumentaiV1DocumentSchemaEntityType.properties.enumValues.description - schemas.GoogleCloudDocumentaiV1DocumentSchemaEntityType.properties.name.description - schemas.GoogleCloudDocumentaiV1DocumentSchemaMetadata.properties.skipNamingValidation.description - schemas.GoogleCloudDocumentaiV1EvaluationMetrics.properties.f1Score.description - schemas.GoogleCloudDocumentaiV1NextSchema.properties.labels.description - schemas.GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo.properties.finetuningAllowed.description - schemas.GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo.properties.minTrainLabeledDocuments.description - schemas.GoogleCloudDocumentaiV1SchemaVersion.properties.labels.description - schemas.GoogleCloudDocumentaiV1beta3DocumentSchema.properties.displayName.description - schemas.GoogleCloudDocumentaiV1beta3DocumentSchemaEntityType.properties.enumValues.description - schemas.GoogleCloudDocumentaiV1beta3DocumentSchemaEntityType.properties.name.description - schemas.GoogleCloudDocumentaiV1beta3DocumentSchemaMetadata.properties.skipNamingValidation.description - schemas.GoogleCloudDocumentaiV1beta3EvaluationMetrics.properties.f1Score.description - schemas.GoogleCloudDocumentaiV1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo.properties.finetuningAllowed.description - schemas.GoogleCloudDocumentaiV1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo.properties.minTrainLabeledDocuments.description --- discovery/documentai-v1.json | 164 +++++++++++++++++++++--------- discovery/documentai-v1beta3.json | 162 ++++++++++++++++++++--------- src/apis/documentai/v1.ts | 126 +++++++++++++---------- src/apis/documentai/v1beta3.ts | 125 +++++++++++++---------- 4 files changed, 374 insertions(+), 203 deletions(-) diff --git a/discovery/documentai-v1.json b/discovery/documentai-v1.json index 0f12c58b8a..472994c382 100644 --- a/discovery/documentai-v1.json +++ b/discovery/documentai-v1.json @@ -15,6 +15,43 @@ "description": "Service to parse structured information from unstructured or semi-structured documents using state-of-the-art Google AI such as natural language, computer vision, translation, and AutoML.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/document-ai/docs/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.eu.rep.googleapis.com/", + "location": "eu" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -189,7 +226,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "documentai.projects.locations.list", @@ -1122,7 +1159,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. We will return the schema groups sorted by creation time. The page token will point to the next Schema.", + "description": "Optional. Returns the schema groups sorted by creation time. The page token will point to the next Schema.", "location": "query", "type": "string" }, @@ -1159,7 +1196,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels.", + "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1302,7 +1339,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. We will return the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion.", + "description": "Optional. Returns the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion.", "location": "query", "type": "string" }, @@ -1339,7 +1376,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels.", + "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1394,7 +1431,7 @@ } } }, - "revision": "20260118", + "revision": "20260203", "rootUrl": "https://documentai.googleapis.com/", "schemas": { "CloudAiDocumentaiLabHifiaToolsValidationValidatorInput": { @@ -1418,7 +1455,7 @@ "$ref": "CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRuleChildAlignmentRule" }, "description": { - "description": "Description of the validation rule. This has no use but for documentation", + "description": "Description of the validation rule. This has no use but for documentation.", "type": "string" }, "entityAlignmentRule": { @@ -2033,7 +2070,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "documentPrompt": { @@ -2079,10 +2116,10 @@ }, "enumValues": { "$ref": "GoogleCloudDocumentaiUiv1beta3DocumentSchemaEntityTypeEnumValues", - "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." + "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." }, "name": { - "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", + "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", "type": "string" }, "properties": { @@ -2185,7 +2222,7 @@ "type": "boolean" }, "skipNamingValidation": { - "description": "If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", + "description": "If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", "type": "boolean" } }, @@ -2266,7 +2303,7 @@ "id": "GoogleCloudDocumentaiUiv1beta3EvaluationMetrics", "properties": { "f1Score": { - "description": "The calculated f1 score.", + "description": "The calculated F1 score.", "format": "float", "type": "number" }, @@ -2886,11 +2923,11 @@ "id": "GoogleCloudDocumentaiUiv1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo", "properties": { "finetuningAllowed": { - "description": "Whether finetuning is allowed for this base processor version.", + "description": "Whether fine tuning is allowed for this base processor version.", "type": "boolean" }, "minTrainLabeledDocuments": { - "description": "The minimum number of labeled documents in the training dataset required for finetuning.", + "description": "The minimum number of labeled documents in the training dataset required for fine tuning.", "format": "int32", "type": "integer" } @@ -3100,7 +3137,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "entityTypes": { @@ -3706,7 +3743,7 @@ "type": "array" }, "entitiesRevisionId": { - "description": "The entity revision id that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision.", + "description": "The entity revision ID that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision.", "type": "string" }, "entitiesRevisions": { @@ -4103,7 +4140,7 @@ "type": "string" }, "mentionText": { - "description": "Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`.", + "description": "Optional. Text value of the entity, for example, `1600 Amphitheatre Pkwy`.", "type": "string" }, "method": { @@ -4122,7 +4159,7 @@ }, "normalizedValue": { "$ref": "GoogleCloudDocumentaiV1DocumentEntityNormalizedValue", - "description": "Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types." + "description": "Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (for example, address) is not supported for certain parsers. This field is also only populated for certain supported document types." }, "pageAnchor": { "$ref": "GoogleCloudDocumentaiV1DocumentPageAnchor", @@ -4148,7 +4185,7 @@ "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", + "description": "Required. Entity type from a schema, for example, `Address`.", "type": "string" } }, @@ -4426,7 +4463,7 @@ "type": "array" }, "visualElements": { - "description": "A list of detected non-text visual elements e.g. checkbox, signature etc. on the page.", + "description": "A list of detected non-text visual elements, for example, checkbox, signature etc. on the page.", "items": { "$ref": "GoogleCloudDocumentaiV1DocumentPageVisualElement" }, @@ -4588,7 +4625,7 @@ }, "fieldName": { "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc." + "description": "Layout for the FormField name. For example, `Address`, `Email`, `Grand total`, `Phone number`, etc." }, "fieldValue": { "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", @@ -4689,7 +4726,7 @@ "description": "The bounding polygon for the Layout." }, "confidence": { - "description": "Confidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.", + "description": "Confidence of the current Layout within context of the object this layout is for. For example, confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.", "format": "float", "type": "number" }, @@ -5014,7 +5051,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1DocumentPageVisualElement": { - "description": "Detected non-text visual elements e.g. checkbox, signature etc. on the page.", + "description": "Detected non-text visual elements, for example, checkbox, signature etc. on the page.", "id": "GoogleCloudDocumentaiV1DocumentPageVisualElement", "properties": { "detectedLanguages": { @@ -5167,7 +5204,7 @@ "id": "GoogleCloudDocumentaiV1DocumentRevisionHumanReview", "properties": { "state": { - "description": "Human review state. e.g. `requested`, `succeeded`, `rejected`.", + "description": "Human review state. For example, `requested`, `succeeded`, `rejected`.", "type": "string" }, "stateMessage": { @@ -5186,7 +5223,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "documentPrompt": { @@ -5224,10 +5261,10 @@ }, "enumValues": { "$ref": "GoogleCloudDocumentaiV1DocumentSchemaEntityTypeEnumValues", - "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." + "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." }, "name": { - "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", + "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", "type": "string" }, "properties": { @@ -5322,7 +5359,7 @@ "type": "boolean" }, "skipNamingValidation": { - "description": "If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", + "description": "If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", "type": "boolean" } }, @@ -5568,6 +5605,13 @@ "name": { "description": "The resource name of the evaluation. Format: `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}/evaluations/{evaluation}`", "type": "string" + }, + "revisions": { + "description": "Contains all revisions of the evaluation, excluding the latest one.", + "items": { + "$ref": "GoogleCloudDocumentaiV1EvaluationEvaluationRevision" + }, + "type": "array" } }, "type": "object" @@ -5615,12 +5659,42 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1EvaluationEvaluationRevision": { + "description": "A revision of the evaluation.", + "id": "GoogleCloudDocumentaiV1EvaluationEvaluationRevision", + "properties": { + "allEntitiesMetrics": { + "$ref": "GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics", + "description": "Output only. Metrics for all the entities in aggregate.", + "readOnly": true + }, + "documentCounters": { + "$ref": "GoogleCloudDocumentaiV1EvaluationCounters", + "description": "Output only. Counters for the documents used in the evaluation.", + "readOnly": true + }, + "entityMetrics": { + "additionalProperties": { + "$ref": "GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics" + }, + "description": "Output only. Metrics across confidence levels, for different entities.", + "readOnly": true, + "type": "object" + }, + "revisionId": { + "description": "Output only. The revision ID of the evaluation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiV1EvaluationMetrics": { "description": "Evaluation metrics, either in aggregate or about a specific entity.", "id": "GoogleCloudDocumentaiV1EvaluationMetrics", "properties": { "f1Score": { - "description": "The calculated f1 score.", + "description": "The calculated F1 score.", "format": "float", "type": "number" }, @@ -6023,7 +6097,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The GCP labels for the Schema.", + "description": "Optional. The {{gcp_name_short}} labels for the Schema.", "type": "object" }, "name": { @@ -6624,11 +6698,11 @@ "id": "GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo", "properties": { "finetuningAllowed": { - "description": "Whether finetuning is allowed for this base processor version.", + "description": "Whether fine tuning is allowed for this base processor version.", "type": "boolean" }, "minTrainLabeledDocuments": { - "description": "The minimum number of labeled documents in the training dataset required for finetuning.", + "description": "The minimum number of labeled documents in the training dataset required for fine tuning.", "format": "int32", "type": "integer" } @@ -6795,7 +6869,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The GCP labels for the SchemaVersion.", + "description": "Optional. The {{gcp_name_short}} labels for the SchemaVersion.", "type": "object" }, "name": { @@ -7226,10 +7300,6 @@ "readOnly": true, "type": "boolean" }, - "spannerIndexingConfig": { - "$ref": "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig", - "description": "Optional. A lightweight indexing source with low latency and high reliability, but lacking advanced features like CMEK and content-based search." - }, "state": { "description": "Required. State of the dataset. Ignored when updating dataset.", "enum": [ @@ -7281,12 +7351,6 @@ }, "type": "object" }, - "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig": { - "description": "Configuration specific to spanner-based indexing.", - "id": "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig", - "properties": {}, - "type": "object" - }, "GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig": { "description": "Configuration specific to an unmanaged dataset.", "id": "GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig", @@ -7404,7 +7468,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "documentPrompt": { @@ -7450,10 +7514,10 @@ }, "enumValues": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentSchemaEntityTypeEnumValues", - "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." + "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." }, "name": { - "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", + "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", "type": "string" }, "properties": { @@ -7556,7 +7620,7 @@ "type": "boolean" }, "skipNamingValidation": { - "description": "If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", + "description": "If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", "type": "boolean" } }, @@ -7617,7 +7681,7 @@ "id": "GoogleCloudDocumentaiV1beta3EvaluationMetrics", "properties": { "f1Score": { - "description": "The calculated f1 score.", + "description": "The calculated F1 score.", "format": "float", "type": "number" }, @@ -8114,11 +8178,11 @@ "id": "GoogleCloudDocumentaiV1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo", "properties": { "finetuningAllowed": { - "description": "Whether finetuning is allowed for this base processor version.", + "description": "Whether fine tuning is allowed for this base processor version.", "type": "boolean" }, "minTrainLabeledDocuments": { - "description": "The minimum number of labeled documents in the training dataset required for finetuning.", + "description": "The minimum number of labeled documents in the training dataset required for fine tuning.", "format": "int32", "type": "integer" } diff --git a/discovery/documentai-v1beta3.json b/discovery/documentai-v1beta3.json index 267dc01b22..10088ae28f 100644 --- a/discovery/documentai-v1beta3.json +++ b/discovery/documentai-v1beta3.json @@ -15,6 +15,43 @@ "description": "Service to parse structured information from unstructured or semi-structured documents using state-of-the-art Google AI such as natural language, computer vision, translation, and AutoML.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/document-ai/docs/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.eu.rep.googleapis.com/", + "location": "eu" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://documentai.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -160,7 +197,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta3/projects/{projectsId}/locations", "httpMethod": "GET", "id": "documentai.projects.locations.list", @@ -1393,7 +1430,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. We will return the schema groups sorted by creation time. The page token will point to the next Schema.", + "description": "Optional. Returns the schema groups sorted by creation time. The page token will point to the next Schema.", "location": "query", "type": "string" }, @@ -1430,7 +1467,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels.", + "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1573,7 +1610,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. We will return the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion.", + "description": "Optional. Returns the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion.", "location": "query", "type": "string" }, @@ -1610,7 +1647,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels.", + "description": "Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1636,7 +1673,7 @@ } } }, - "revision": "20260118", + "revision": "20260203", "rootUrl": "https://documentai.googleapis.com/", "schemas": { "CloudAiDocumentaiLabHifiaToolsValidationValidatorInput": { @@ -1660,7 +1697,7 @@ "$ref": "CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRuleChildAlignmentRule" }, "description": { - "description": "Description of the validation rule. This has no use but for documentation", + "description": "Description of the validation rule. This has no use but for documentation.", "type": "string" }, "entityAlignmentRule": { @@ -2275,7 +2312,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "documentPrompt": { @@ -2321,10 +2358,10 @@ }, "enumValues": { "$ref": "GoogleCloudDocumentaiUiv1beta3DocumentSchemaEntityTypeEnumValues", - "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." + "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." }, "name": { - "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", + "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", "type": "string" }, "properties": { @@ -2427,7 +2464,7 @@ "type": "boolean" }, "skipNamingValidation": { - "description": "If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", + "description": "If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", "type": "boolean" } }, @@ -2508,7 +2545,7 @@ "id": "GoogleCloudDocumentaiUiv1beta3EvaluationMetrics", "properties": { "f1Score": { - "description": "The calculated f1 score.", + "description": "The calculated F1 score.", "format": "float", "type": "number" }, @@ -3128,11 +3165,11 @@ "id": "GoogleCloudDocumentaiUiv1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo", "properties": { "finetuningAllowed": { - "description": "Whether finetuning is allowed for this base processor version.", + "description": "Whether fine tuning is allowed for this base processor version.", "type": "boolean" }, "minTrainLabeledDocuments": { - "description": "The minimum number of labeled documents in the training dataset required for finetuning.", + "description": "The minimum number of labeled documents in the training dataset required for fine tuning.", "format": "int32", "type": "integer" } @@ -3342,7 +3379,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "entityTypes": { @@ -4402,10 +4439,6 @@ "readOnly": true, "type": "boolean" }, - "spannerIndexingConfig": { - "$ref": "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig", - "description": "Optional. A lightweight indexing source with low latency and high reliability, but lacking advanced features like CMEK and content-based search." - }, "state": { "description": "Required. State of the dataset. Ignored when updating dataset.", "enum": [ @@ -4482,12 +4515,6 @@ }, "type": "object" }, - "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig": { - "description": "Configuration specific to spanner-based indexing.", - "id": "GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig", - "properties": {}, - "type": "object" - }, "GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig": { "description": "Configuration specific to an unmanaged dataset.", "id": "GoogleCloudDocumentaiV1beta3DatasetUnmanagedDatasetConfig", @@ -4567,7 +4594,7 @@ "id": "GoogleCloudDocumentaiV1beta3Document", "properties": { "blobAssets": { - "description": "Optional. The blob assets in this document. This is used to store the content of the inline blobs in this document, e.g. image bytes, such that it can be referenced by other fields in the document via asset id.", + "description": "Optional. The blob assets in this document. This is used to store the content of the inline blobs in this document, for example, image bytes, such that it can be referenced by other fields in the document via asset id.", "items": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentBlobAsset" }, @@ -4598,7 +4625,7 @@ "type": "array" }, "entitiesRevisionId": { - "description": "The entity revision id that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision.", + "description": "The entity revision ID that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision.", "type": "string" }, "entitiesRevisions": { @@ -4683,7 +4710,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta3DocumentBlobAsset": { - "description": "Represents a blob asset. It's used to store the content of the inline blob in this document, e.g. image bytes, such that it can be referenced by other fields in the document via asset id.", + "description": "Represents a blob asset. It's used to store the content of the inline blob in this document, for example, image bytes, such that it can be referenced by other fields in the document via asset ID.", "id": "GoogleCloudDocumentaiV1beta3DocumentBlobAsset", "properties": { "assetId": { @@ -4691,7 +4718,7 @@ "type": "string" }, "content": { - "description": "Optional. The content of the blob asset, e.g. image bytes.", + "description": "Optional. The content of the blob asset, for example, image bytes.", "format": "byte", "type": "string" }, @@ -4764,7 +4791,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta3DocumentChunkedDocumentChunkChunkField": { - "description": "The chunk field in the chunk. A chunk field could be one of the various types (e.g. image, table) supported.", + "description": "The chunk field in the chunk. A chunk field could be one of the various types (for example, image, table) supported.", "id": "GoogleCloudDocumentaiV1beta3DocumentChunkedDocumentChunkChunkField", "properties": { "imageChunkField": { @@ -5125,7 +5152,7 @@ "type": "string" }, "mentionText": { - "description": "Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`.", + "description": "Optional. Text value of the entity, for example, `1600 Amphitheatre Pkwy`.", "type": "string" }, "method": { @@ -5144,7 +5171,7 @@ }, "normalizedValue": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentEntityNormalizedValue", - "description": "Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types." + "description": "Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (for example, address) is not supported for certain parsers. This field is also only populated for certain supported document types." }, "pageAnchor": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentPageAnchor", @@ -5170,7 +5197,7 @@ "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", + "description": "Required. Entity type from a schema, for example, `Address`.", "type": "string" } }, @@ -5546,7 +5573,7 @@ "type": "array" }, "visualElements": { - "description": "A list of detected non-text visual elements e.g. checkbox, signature etc. on the page.", + "description": "A list of detected non-text visual elements, for example, checkbox, signature etc. on the page.", "items": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentPageVisualElement" }, @@ -5708,7 +5735,7 @@ }, "fieldName": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentPageLayout", - "description": "Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc." + "description": "Layout for the FormField name. For example, `Address`, `Email`, `Grand total`, `Phone number`, etc." }, "fieldValue": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentPageLayout", @@ -5809,7 +5836,7 @@ "description": "The bounding polygon for the Layout." }, "confidence": { - "description": "Confidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.", + "description": "Confidence of the current Layout within context of the object this layout is for. For example, confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.", "format": "float", "type": "number" }, @@ -6134,7 +6161,7 @@ "type": "object" }, "GoogleCloudDocumentaiV1beta3DocumentPageVisualElement": { - "description": "Detected non-text visual elements e.g. checkbox, signature etc. on the page.", + "description": "Detected non-text visual elements, for example, checkbox, signature etc. on the page.", "id": "GoogleCloudDocumentaiV1beta3DocumentPageVisualElement", "properties": { "detectedLanguages": { @@ -6287,7 +6314,7 @@ "id": "GoogleCloudDocumentaiV1beta3DocumentRevisionHumanReview", "properties": { "state": { - "description": "Human review state. e.g. `requested`, `succeeded`, `rejected`.", + "description": "Human review state. For example, `requested`, `succeeded`, `rejected`.", "type": "string" }, "stateMessage": { @@ -6306,7 +6333,7 @@ "type": "string" }, "displayName": { - "description": "Display name to show to users.", + "description": "Display name to show users.", "type": "string" }, "documentPrompt": { @@ -6352,10 +6379,10 @@ }, "enumValues": { "$ref": "GoogleCloudDocumentaiV1beta3DocumentSchemaEntityTypeEnumValues", - "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." + "description": "If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is >10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file." }, "name": { - "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", + "description": "Name of the type. It must be unique within the schema file and cannot be a \"Common Type\". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility.", "type": "string" }, "properties": { @@ -6458,7 +6485,7 @@ "type": "boolean" }, "skipNamingValidation": { - "description": "If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", + "description": "If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked.", "type": "boolean" } }, @@ -6715,6 +6742,13 @@ "name": { "description": "The resource name of the evaluation. Format: `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}/evaluations/{evaluation}`", "type": "string" + }, + "revisions": { + "description": "Contains all revisions of the evaluation, excluding the latest one.", + "items": { + "$ref": "GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision" + }, + "type": "array" } }, "type": "object" @@ -6762,12 +6796,42 @@ }, "type": "object" }, + "GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision": { + "description": "A revision of the evaluation.", + "id": "GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision", + "properties": { + "allEntitiesMetrics": { + "$ref": "GoogleCloudDocumentaiV1beta3EvaluationMultiConfidenceMetrics", + "description": "Output only. Metrics for all the entities in aggregate.", + "readOnly": true + }, + "documentCounters": { + "$ref": "GoogleCloudDocumentaiV1beta3EvaluationCounters", + "description": "Output only. Counters for the documents used in the evaluation.", + "readOnly": true + }, + "entityMetrics": { + "additionalProperties": { + "$ref": "GoogleCloudDocumentaiV1beta3EvaluationMultiConfidenceMetrics" + }, + "description": "Output only. Metrics across confidence levels, for different entities.", + "readOnly": true, + "type": "object" + }, + "revisionId": { + "description": "Output only. The revision ID of the evaluation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDocumentaiV1beta3EvaluationMetrics": { "description": "Evaluation metrics, either in aggregate or about a specific entity.", "id": "GoogleCloudDocumentaiV1beta3EvaluationMetrics", "properties": { "f1Score": { - "description": "The calculated f1 score.", + "description": "The calculated F1 score.", "format": "float", "type": "number" }, @@ -7422,7 +7486,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The GCP labels for the Schema.", + "description": "Optional. The {{gcp_name_short}} labels for the Schema.", "type": "object" }, "name": { @@ -7623,7 +7687,7 @@ "id": "GoogleCloudDocumentaiV1beta3ProcessOptionsLayoutConfigChunkingConfig", "properties": { "breakpointPercentileThreshold": { - "description": "Optional. The percentile of cosine dissimilarity that must be exceeded between a group of tokens and the next. The smaller this number is, the more chunks will be generated. THIS FIELD IS NOT YET USED.", + "description": "Optional. The percentile of cosine dissimilarity that must be exceeded between a group of tokens and the next. The smaller this number is, the more chunks will be generated. **Note:** This field is not yet used.", "format": "int32", "type": "integer" }, @@ -7637,7 +7701,7 @@ "type": "boolean" }, "semanticChunkingGroupSize": { - "description": "Optional. The number of tokens to group together when evaluating semantic similarity. THIS FIELD IS NOT YET USED.", + "description": "Optional. The number of tokens to group together when evaluating semantic similarity. **Note:** This field is not yet used.", "type": "boolean" } }, @@ -8054,11 +8118,11 @@ "id": "GoogleCloudDocumentaiV1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo", "properties": { "finetuningAllowed": { - "description": "Whether finetuning is allowed for this base processor version.", + "description": "Whether fine tuning is allowed for this base processor version.", "type": "boolean" }, "minTrainLabeledDocuments": { - "description": "The minimum number of labeled documents in the training dataset required for finetuning.", + "description": "The minimum number of labeled documents in the training dataset required for fine tuning.", "format": "int32", "type": "integer" } @@ -8310,7 +8374,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The GCP labels for the SchemaVersion.", + "description": "Optional. The {{gcp_name_short}} labels for the SchemaVersion.", "type": "object" }, "name": { diff --git a/src/apis/documentai/v1.ts b/src/apis/documentai/v1.ts index 60ac6a2718..35634d3f65 100644 --- a/src/apis/documentai/v1.ts +++ b/src/apis/documentai/v1.ts @@ -138,7 +138,7 @@ export namespace documentai_v1 { export interface Schema$CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRule { childAlignmentRule?: Schema$CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRuleChildAlignmentRule; /** - * Description of the validation rule. This has no use but for documentation + * Description of the validation rule. This has no use but for documentation. */ description?: string | null; entityAlignmentRule?: Schema$CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRuleEntityAlignmentRule; @@ -517,7 +517,7 @@ export namespace documentai_v1 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -554,11 +554,11 @@ export namespace documentai_v1 { */ entityTypeMetadata?: Schema$GoogleCloudDocumentaiUiv1beta3EntityTypeMetadata; /** - * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. + * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. */ enumValues?: Schema$GoogleCloudDocumentaiUiv1beta3DocumentSchemaEntityTypeEnumValues; /** - * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. + * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. */ name?: string | null; /** @@ -625,7 +625,7 @@ export namespace documentai_v1 { */ prefixedNamingOnProperties?: boolean | null; /** - * If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. + * If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. */ skipNamingValidation?: boolean | null; } @@ -694,7 +694,7 @@ export namespace documentai_v1 { */ export interface Schema$GoogleCloudDocumentaiUiv1beta3EvaluationMetrics { /** - * The calculated f1 score. + * The calculated F1 score. */ f1Score?: number | null; /** @@ -1137,11 +1137,11 @@ export namespace documentai_v1 { */ export interface Schema$GoogleCloudDocumentaiUiv1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo { /** - * Whether finetuning is allowed for this base processor version. + * Whether fine tuning is allowed for this base processor version. */ finetuningAllowed?: boolean | null; /** - * The minimum number of labeled documents in the training dataset required for finetuning. + * The minimum number of labeled documents in the training dataset required for fine tuning. */ minTrainLabeledDocuments?: number | null; } @@ -1287,7 +1287,7 @@ export namespace documentai_v1 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -1717,10 +1717,6 @@ export namespace documentai_v1 { * Output only. Reserved for future use. */ satisfiesPzs?: boolean | null; - /** - * Optional. A lightweight indexing source with low latency and high reliability, but lacking advanced features like CMEK and content-based search. - */ - spannerIndexingConfig?: Schema$GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig; /** * Required. State of the dataset. Ignored when updating dataset. */ @@ -1752,10 +1748,6 @@ export namespace documentai_v1 { */ gcsPrefix?: Schema$GoogleCloudDocumentaiV1beta3GcsPrefix; } - /** - * Configuration specific to spanner-based indexing. - */ - export interface Schema$GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig {} /** * Configuration specific to an unmanaged dataset. */ @@ -1852,7 +1844,7 @@ export namespace documentai_v1 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -1889,11 +1881,11 @@ export namespace documentai_v1 { */ entityTypeMetadata?: Schema$GoogleCloudDocumentaiV1beta3EntityTypeMetadata; /** - * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. + * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. */ enumValues?: Schema$GoogleCloudDocumentaiV1beta3DocumentSchemaEntityTypeEnumValues; /** - * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. + * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. */ name?: string | null; /** @@ -1960,7 +1952,7 @@ export namespace documentai_v1 { */ prefixedNamingOnProperties?: boolean | null; /** - * If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. + * If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. */ skipNamingValidation?: boolean | null; } @@ -2009,7 +2001,7 @@ export namespace documentai_v1 { */ export interface Schema$GoogleCloudDocumentaiV1beta3EvaluationMetrics { /** - * The calculated f1 score. + * The calculated F1 score. */ f1Score?: number | null; /** @@ -2353,11 +2345,11 @@ export namespace documentai_v1 { */ export interface Schema$GoogleCloudDocumentaiV1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo { /** - * Whether finetuning is allowed for this base processor version. + * Whether fine tuning is allowed for this base processor version. */ finetuningAllowed?: boolean | null; /** - * The minimum number of labeled documents in the training dataset required for finetuning. + * The minimum number of labeled documents in the training dataset required for fine tuning. */ minTrainLabeledDocuments?: number | null; } @@ -2653,7 +2645,7 @@ export namespace documentai_v1 { */ entities?: Schema$GoogleCloudDocumentaiV1DocumentEntity[]; /** - * The entity revision id that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision. + * The entity revision ID that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision. */ entitiesRevisionId?: string | null; /** @@ -2953,7 +2945,7 @@ export namespace documentai_v1 { */ mentionId?: string | null; /** - * Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`. + * Optional. Text value of the entity, for example, `1600 Amphitheatre Pkwy`. */ mentionText?: string | null; /** @@ -2961,7 +2953,7 @@ export namespace documentai_v1 { */ method?: string | null; /** - * Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types. + * Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (for example, address) is not supported for certain parsers. This field is also only populated for certain supported document types. */ normalizedValue?: Schema$GoogleCloudDocumentaiV1DocumentEntityNormalizedValue; /** @@ -2985,7 +2977,7 @@ export namespace documentai_v1 { */ textAnchor?: Schema$GoogleCloudDocumentaiV1DocumentTextAnchor; /** - * Required. Entity type from a schema e.g. `Address`. + * Required. Entity type from a schema, for example, `Address`. */ type?: string | null; } @@ -3193,7 +3185,7 @@ export namespace documentai_v1 { */ transforms?: Schema$GoogleCloudDocumentaiV1DocumentPageMatrix[]; /** - * A list of detected non-text visual elements e.g. checkbox, signature etc. on the page. + * A list of detected non-text visual elements, for example, checkbox, signature etc. on the page. */ visualElements?: Schema$GoogleCloudDocumentaiV1DocumentPageVisualElement[]; } @@ -3304,7 +3296,7 @@ export namespace documentai_v1 { */ correctedValueText?: string | null; /** - * Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc. + * Layout for the FormField name. For example, `Address`, `Email`, `Grand total`, `Phone number`, etc. */ fieldName?: Schema$GoogleCloudDocumentaiV1DocumentPageLayout; /** @@ -3384,7 +3376,7 @@ export namespace documentai_v1 { */ boundingPoly?: Schema$GoogleCloudDocumentaiV1BoundingPoly; /** - * Confidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`. + * Confidence of the current Layout within context of the object this layout is for. For example, confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`. */ confidence?: number | null; /** @@ -3619,7 +3611,7 @@ export namespace documentai_v1 { underlined?: boolean | null; } /** - * Detected non-text visual elements e.g. checkbox, signature etc. on the page. + * Detected non-text visual elements, for example, checkbox, signature etc. on the page. */ export interface Schema$GoogleCloudDocumentaiV1DocumentPageVisualElement { /** @@ -3711,7 +3703,7 @@ export namespace documentai_v1 { */ export interface Schema$GoogleCloudDocumentaiV1DocumentRevisionHumanReview { /** - * Human review state. e.g. `requested`, `succeeded`, `rejected`. + * Human review state. For example, `requested`, `succeeded`, `rejected`. */ state?: string | null; /** @@ -3737,7 +3729,7 @@ export namespace documentai_v1 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -3766,11 +3758,11 @@ export namespace documentai_v1 { */ displayName?: string | null; /** - * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. + * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. */ enumValues?: Schema$GoogleCloudDocumentaiV1DocumentSchemaEntityTypeEnumValues; /** - * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. + * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. */ name?: string | null; /** @@ -3829,7 +3821,7 @@ export namespace documentai_v1 { */ prefixedNamingOnProperties?: boolean | null; /** - * If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. + * If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. */ skipNamingValidation?: boolean | null; } @@ -4023,6 +4015,10 @@ export namespace documentai_v1 { * The resource name of the evaluation. Format: `projects/{project\}/locations/{location\}/processors/{processor\}/processorVersions/{processor_version\}/evaluations/{evaluation\}` */ name?: string | null; + /** + * Contains all revisions of the evaluation, excluding the latest one. + */ + revisions?: Schema$GoogleCloudDocumentaiV1EvaluationEvaluationRevision[]; } /** * Evaluations metrics, at a specific confidence level. @@ -4058,12 +4054,37 @@ export namespace documentai_v1 { */ invalidDocumentsCount?: number | null; } + /** + * A revision of the evaluation. + */ + export interface Schema$GoogleCloudDocumentaiV1EvaluationEvaluationRevision { + /** + * Output only. Metrics for all the entities in aggregate. + */ + allEntitiesMetrics?: Schema$GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics; + /** + * Output only. Counters for the documents used in the evaluation. + */ + documentCounters?: Schema$GoogleCloudDocumentaiV1EvaluationCounters; + /** + * Output only. Metrics across confidence levels, for different entities. + */ + entityMetrics?: { + [ + key: string + ]: Schema$GoogleCloudDocumentaiV1EvaluationMultiConfidenceMetrics; + } | null; + /** + * Output only. The revision ID of the evaluation. + */ + revisionId?: string | null; + } /** * Evaluation metrics, either in aggregate or about a specific entity. */ export interface Schema$GoogleCloudDocumentaiV1EvaluationMetrics { /** - * The calculated f1 score. + * The calculated F1 score. */ f1Score?: number | null; /** @@ -4360,7 +4381,7 @@ export namespace documentai_v1 { */ displayName?: string | null; /** - * Optional. The GCP labels for the Schema. + * Optional. The {{gcp_name_short\}\} labels for the Schema. */ labels?: {[key: string]: string} | null; /** @@ -4737,11 +4758,11 @@ export namespace documentai_v1 { */ export interface Schema$GoogleCloudDocumentaiV1ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo { /** - * Whether finetuning is allowed for this base processor version. + * Whether fine tuning is allowed for this base processor version. */ finetuningAllowed?: boolean | null; /** - * The minimum number of labeled documents in the training dataset required for finetuning. + * The minimum number of labeled documents in the training dataset required for fine tuning. */ minTrainLabeledDocuments?: number | null; } @@ -4911,7 +4932,7 @@ export namespace documentai_v1 { */ displayName?: string | null; /** - * Optional. The GCP labels for the SchemaVersion. + * Optional. The {{gcp_name_short\}\} labels for the SchemaVersion. */ labels?: {[key: string]: string} | null; /** @@ -5813,7 +5834,7 @@ export namespace documentai_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -9728,7 +9749,8 @@ export namespace documentai_v1 { * // "entityMetrics": {}, * // "kmsKeyName": "my_kmsKeyName", * // "kmsKeyVersionName": "my_kmsKeyVersionName", - * // "name": "my_name" + * // "name": "my_name", + * // "revisions": [] * // } * } * @@ -10841,7 +10863,7 @@ export namespace documentai_v1 { * const res = await documentai.projects.locations.schemas.list({ * // Optional. The maximum number of schema groups to return. If unspecified, at most `10` Schema will be returned. The maximum value is `20`. Values above `20` will be coerced to `20`. * pageSize: 'placeholder-value', - * // Optional. We will return the schema groups sorted by creation time. The page token will point to the next Schema. + * // Optional. Returns the schema groups sorted by creation time. The page token will point to the next Schema. * pageToken: 'placeholder-value', * // Required. Format: `projects/{project\}/locations/{location\}` * parent: 'projects/my-project/locations/my-location', @@ -10993,7 +11015,7 @@ export namespace documentai_v1 { * const res = await documentai.projects.locations.schemas.patch({ * // Identifier. The resource name of the Schema. Format: `projects/{project\}/locations/{location\}/schemas/{schema\}` * name: 'projects/my-project/locations/my-location/schemas/my-schema', - * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` * updateMask: 'placeholder-value', * * // Request body metadata @@ -11156,7 +11178,7 @@ export namespace documentai_v1 { */ pageSize?: number; /** - * Optional. We will return the schema groups sorted by creation time. The page token will point to the next Schema. + * Optional. Returns the schema groups sorted by creation time. The page token will point to the next Schema. */ pageToken?: string; /** @@ -11170,7 +11192,7 @@ export namespace documentai_v1 { */ name?: string; /** - * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` */ updateMask?: string; @@ -11841,7 +11863,7 @@ export namespace documentai_v1 { * const res = await documentai.projects.locations.schemas.schemaVersions.list({ * // Optional. The maximum number of SchemaVersion to return. If unspecified, at most `10` SchemaVersion will be returned. The maximum value is `20`. Values above `20` will be coerced to `20`. * pageSize: 'placeholder-value', - * // Optional. We will return the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. + * // Optional. Returns the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. * pageToken: 'placeholder-value', * // Required. Format: `projects/{project\}/locations/{location\}/schemas/{schema\}` * parent: 'projects/my-project/locations/my-location/schemas/my-schema', @@ -11994,7 +12016,7 @@ export namespace documentai_v1 { * const res = await documentai.projects.locations.schemas.schemaVersions.patch({ * // Identifier. The resource name of the SchemaVersion. Format: `projects/{project\}/locations/{location\}/schemas/{schema\}/schemaVersions/{schema_version\}` * name: 'projects/my-project/locations/my-location/schemas/my-schema/schemaVersions/my-schemaVersion', - * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` * updateMask: 'placeholder-value', * * // Request body metadata @@ -12165,7 +12187,7 @@ export namespace documentai_v1 { */ pageSize?: number; /** - * Optional. We will return the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. + * Optional. Returns the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. */ pageToken?: string; /** @@ -12179,7 +12201,7 @@ export namespace documentai_v1 { */ name?: string; /** - * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` */ updateMask?: string; diff --git a/src/apis/documentai/v1beta3.ts b/src/apis/documentai/v1beta3.ts index 7472518cdd..fb4e76aded 100644 --- a/src/apis/documentai/v1beta3.ts +++ b/src/apis/documentai/v1beta3.ts @@ -136,7 +136,7 @@ export namespace documentai_v1beta3 { export interface Schema$CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRule { childAlignmentRule?: Schema$CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRuleChildAlignmentRule; /** - * Description of the validation rule. This has no use but for documentation + * Description of the validation rule. This has no use but for documentation. */ description?: string | null; entityAlignmentRule?: Schema$CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRuleEntityAlignmentRule; @@ -515,7 +515,7 @@ export namespace documentai_v1beta3 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -552,11 +552,11 @@ export namespace documentai_v1beta3 { */ entityTypeMetadata?: Schema$GoogleCloudDocumentaiUiv1beta3EntityTypeMetadata; /** - * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. + * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. */ enumValues?: Schema$GoogleCloudDocumentaiUiv1beta3DocumentSchemaEntityTypeEnumValues; /** - * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. + * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. */ name?: string | null; /** @@ -623,7 +623,7 @@ export namespace documentai_v1beta3 { */ prefixedNamingOnProperties?: boolean | null; /** - * If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. + * If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. */ skipNamingValidation?: boolean | null; } @@ -692,7 +692,7 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleCloudDocumentaiUiv1beta3EvaluationMetrics { /** - * The calculated f1 score. + * The calculated F1 score. */ f1Score?: number | null; /** @@ -1135,11 +1135,11 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleCloudDocumentaiUiv1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo { /** - * Whether finetuning is allowed for this base processor version. + * Whether fine tuning is allowed for this base processor version. */ finetuningAllowed?: boolean | null; /** - * The minimum number of labeled documents in the training dataset required for finetuning. + * The minimum number of labeled documents in the training dataset required for fine tuning. */ minTrainLabeledDocuments?: number | null; } @@ -1285,7 +1285,7 @@ export namespace documentai_v1beta3 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -1786,10 +1786,6 @@ export namespace documentai_v1beta3 { * Output only. Reserved for future use. */ satisfiesPzs?: boolean | null; - /** - * Optional. A lightweight indexing source with low latency and high reliability, but lacking advanced features like CMEK and content-based search. - */ - spannerIndexingConfig?: Schema$GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig; /** * Required. State of the dataset. Ignored when updating dataset. */ @@ -1842,10 +1838,6 @@ export namespace documentai_v1beta3 { */ satisfiesPzs?: boolean | null; } - /** - * Configuration specific to spanner-based indexing. - */ - export interface Schema$GoogleCloudDocumentaiV1beta3DatasetSpannerIndexingConfig {} /** * Configuration specific to an unmanaged dataset. */ @@ -1907,7 +1899,7 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleCloudDocumentaiV1beta3Document { /** - * Optional. The blob assets in this document. This is used to store the content of the inline blobs in this document, e.g. image bytes, such that it can be referenced by other fields in the document via asset id. + * Optional. The blob assets in this document. This is used to store the content of the inline blobs in this document, for example, image bytes, such that it can be referenced by other fields in the document via asset id. */ blobAssets?: Schema$GoogleCloudDocumentaiV1beta3DocumentBlobAsset[]; /** @@ -1931,7 +1923,7 @@ export namespace documentai_v1beta3 { */ entities?: Schema$GoogleCloudDocumentaiV1beta3DocumentEntity[]; /** - * The entity revision id that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision. + * The entity revision ID that `document.entities` field is based on. If this field is set and `entities_revisions` is not empty, the entities in `document.entities` field are the entities in the entity revision with this id and `document.entity_validation_output` field is the `entity_validation_output` field in this entity revision. */ entitiesRevisionId?: string | null; /** @@ -1993,7 +1985,7 @@ export namespace documentai_v1beta3 { description?: string | null; } /** - * Represents a blob asset. It's used to store the content of the inline blob in this document, e.g. image bytes, such that it can be referenced by other fields in the document via asset id. + * Represents a blob asset. It's used to store the content of the inline blob in this document, for example, image bytes, such that it can be referenced by other fields in the document via asset ID. */ export interface Schema$GoogleCloudDocumentaiV1beta3DocumentBlobAsset { /** @@ -2001,7 +1993,7 @@ export namespace documentai_v1beta3 { */ assetId?: string | null; /** - * Optional. The content of the blob asset, e.g. image bytes. + * Optional. The content of the blob asset, for example, image bytes. */ content?: string | null; /** @@ -2052,7 +2044,7 @@ export namespace documentai_v1beta3 { sourceBlockIds?: string[] | null; } /** - * The chunk field in the chunk. A chunk field could be one of the various types (e.g. image, table) supported. + * The chunk field in the chunk. A chunk field could be one of the various types (for example, image, table) supported. */ export interface Schema$GoogleCloudDocumentaiV1beta3DocumentChunkedDocumentChunkChunkField { /** @@ -2345,7 +2337,7 @@ export namespace documentai_v1beta3 { */ mentionId?: string | null; /** - * Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`. + * Optional. Text value of the entity, for example, `1600 Amphitheatre Pkwy`. */ mentionText?: string | null; /** @@ -2353,7 +2345,7 @@ export namespace documentai_v1beta3 { */ method?: string | null; /** - * Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types. + * Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (for example, address) is not supported for certain parsers. This field is also only populated for certain supported document types. */ normalizedValue?: Schema$GoogleCloudDocumentaiV1beta3DocumentEntityNormalizedValue; /** @@ -2377,7 +2369,7 @@ export namespace documentai_v1beta3 { */ textAnchor?: Schema$GoogleCloudDocumentaiV1beta3DocumentTextAnchor; /** - * Required. Entity type from a schema e.g. `Address`. + * Required. Entity type from a schema, for example, `Address`. */ type?: string | null; } @@ -2649,7 +2641,7 @@ export namespace documentai_v1beta3 { */ transforms?: Schema$GoogleCloudDocumentaiV1beta3DocumentPageMatrix[]; /** - * A list of detected non-text visual elements e.g. checkbox, signature etc. on the page. + * A list of detected non-text visual elements, for example, checkbox, signature etc. on the page. */ visualElements?: Schema$GoogleCloudDocumentaiV1beta3DocumentPageVisualElement[]; } @@ -2760,7 +2752,7 @@ export namespace documentai_v1beta3 { */ correctedValueText?: string | null; /** - * Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc. + * Layout for the FormField name. For example, `Address`, `Email`, `Grand total`, `Phone number`, etc. */ fieldName?: Schema$GoogleCloudDocumentaiV1beta3DocumentPageLayout; /** @@ -2840,7 +2832,7 @@ export namespace documentai_v1beta3 { */ boundingPoly?: Schema$GoogleCloudDocumentaiV1beta3BoundingPoly; /** - * Confidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`. + * Confidence of the current Layout within context of the object this layout is for. For example, confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`. */ confidence?: number | null; /** @@ -3075,7 +3067,7 @@ export namespace documentai_v1beta3 { underlined?: boolean | null; } /** - * Detected non-text visual elements e.g. checkbox, signature etc. on the page. + * Detected non-text visual elements, for example, checkbox, signature etc. on the page. */ export interface Schema$GoogleCloudDocumentaiV1beta3DocumentPageVisualElement { /** @@ -3167,7 +3159,7 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleCloudDocumentaiV1beta3DocumentRevisionHumanReview { /** - * Human review state. e.g. `requested`, `succeeded`, `rejected`. + * Human review state. For example, `requested`, `succeeded`, `rejected`. */ state?: string | null; /** @@ -3193,7 +3185,7 @@ export namespace documentai_v1beta3 { */ description?: string | null; /** - * Display name to show to users. + * Display name to show users. */ displayName?: string | null; /** @@ -3230,11 +3222,11 @@ export namespace documentai_v1beta3 { */ entityTypeMetadata?: Schema$GoogleCloudDocumentaiV1beta3EntityTypeMetadata; /** - * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. + * If specified, lists all the possible values for this entity. This should not be more than a handful of values. If the number of values is \>10 or could change frequently, use the `EntityType.value_ontology` field and specify a list of all possible values in a value ontology file. */ enumValues?: Schema$GoogleCloudDocumentaiV1beta3DocumentSchemaEntityTypeEnumValues; /** - * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility internal infrastructure and tooling can handle any ascii character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. + * Name of the type. It must be unique within the schema file and cannot be a "Common Type". The following naming conventions are used: - Use `snake_casing`. - Name matching is case-sensitive. - Maximum 64 characters. - Must start with a letter. - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward compatibility, internal infrastructure and tooling can handle any ASCII character.) - The `/` is sometimes used to denote a property of a type. For example `line_item/amount`. This convention is deprecated, but will still be honored for backward compatibility. */ name?: string | null; /** @@ -3301,7 +3293,7 @@ export namespace documentai_v1beta3 { */ prefixedNamingOnProperties?: boolean | null; /** - * If set, we will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. + * If set, this will skip the naming format validation in the schema. So the string values in `DocumentSchema.EntityType.name` and `DocumentSchema.EntityType.Property.name` will not be checked. */ skipNamingValidation?: boolean | null; } @@ -3504,6 +3496,10 @@ export namespace documentai_v1beta3 { * The resource name of the evaluation. Format: `projects/{project\}/locations/{location\}/processors/{processor\}/processorVersions/{processor_version\}/evaluations/{evaluation\}` */ name?: string | null; + /** + * Contains all revisions of the evaluation, excluding the latest one. + */ + revisions?: Schema$GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision[]; } /** * Evaluations metrics, at a specific confidence level. @@ -3539,12 +3535,37 @@ export namespace documentai_v1beta3 { */ invalidDocumentsCount?: number | null; } + /** + * A revision of the evaluation. + */ + export interface Schema$GoogleCloudDocumentaiV1beta3EvaluationEvaluationRevision { + /** + * Output only. Metrics for all the entities in aggregate. + */ + allEntitiesMetrics?: Schema$GoogleCloudDocumentaiV1beta3EvaluationMultiConfidenceMetrics; + /** + * Output only. Counters for the documents used in the evaluation. + */ + documentCounters?: Schema$GoogleCloudDocumentaiV1beta3EvaluationCounters; + /** + * Output only. Metrics across confidence levels, for different entities. + */ + entityMetrics?: { + [ + key: string + ]: Schema$GoogleCloudDocumentaiV1beta3EvaluationMultiConfidenceMetrics; + } | null; + /** + * Output only. The revision ID of the evaluation. + */ + revisionId?: string | null; + } /** * Evaluation metrics, either in aggregate or about a specific entity. */ export interface Schema$GoogleCloudDocumentaiV1beta3EvaluationMetrics { /** - * The calculated f1 score. + * The calculated F1 score. */ f1Score?: number | null; /** @@ -4024,7 +4045,7 @@ export namespace documentai_v1beta3 { */ displayName?: string | null; /** - * Optional. The GCP labels for the Schema. + * Optional. The {{gcp_name_short\}\} labels for the Schema. */ labels?: {[key: string]: string} | null; /** @@ -4192,7 +4213,7 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleCloudDocumentaiV1beta3ProcessOptionsLayoutConfigChunkingConfig { /** - * Optional. The percentile of cosine dissimilarity that must be exceeded between a group of tokens and the next. The smaller this number is, the more chunks will be generated. THIS FIELD IS NOT YET USED. + * Optional. The percentile of cosine dissimilarity that must be exceeded between a group of tokens and the next. The smaller this number is, the more chunks will be generated. **Note:** This field is not yet used. */ breakpointPercentileThreshold?: number | null; /** @@ -4204,7 +4225,7 @@ export namespace documentai_v1beta3 { */ includeAncestorHeadings?: boolean | null; /** - * Optional. The number of tokens to group together when evaluating semantic similarity. THIS FIELD IS NOT YET USED. + * Optional. The number of tokens to group together when evaluating semantic similarity. **Note:** This field is not yet used. */ semanticChunkingGroupSize?: boolean | null; } @@ -4421,11 +4442,11 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleCloudDocumentaiV1beta3ProcessorVersionGenAiModelInfoFoundationGenAiModelInfo { /** - * Whether finetuning is allowed for this base processor version. + * Whether fine tuning is allowed for this base processor version. */ finetuningAllowed?: boolean | null; /** - * The minimum number of labeled documents in the training dataset required for finetuning. + * The minimum number of labeled documents in the training dataset required for fine tuning. */ minTrainLabeledDocuments?: number | null; } @@ -4653,7 +4674,7 @@ export namespace documentai_v1beta3 { */ displayName?: string | null; /** - * Optional. The GCP labels for the SchemaVersion. + * Optional. The {{gcp_name_short\}\} labels for the SchemaVersion. */ labels?: {[key: string]: string} | null; /** @@ -5655,7 +5676,7 @@ export namespace documentai_v1beta3 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -7792,7 +7813,6 @@ export namespace documentai_v1beta3 { * // "name": "my_name", * // "satisfiesPzi": false, * // "satisfiesPzs": false, - * // "spannerIndexingConfig": {}, * // "state": "my_state", * // "unmanagedDatasetConfig": {} * // } @@ -11002,7 +11022,8 @@ export namespace documentai_v1beta3 { * // "entityMetrics": {}, * // "kmsKeyName": "my_kmsKeyName", * // "kmsKeyVersionName": "my_kmsKeyVersionName", - * // "name": "my_name" + * // "name": "my_name", + * // "revisions": [] * // } * } * @@ -12115,7 +12136,7 @@ export namespace documentai_v1beta3 { * const res = await documentai.projects.locations.schemas.list({ * // Optional. The maximum number of schema groups to return. If unspecified, at most `10` Schema will be returned. The maximum value is `20`. Values above `20` will be coerced to `20`. * pageSize: 'placeholder-value', - * // Optional. We will return the schema groups sorted by creation time. The page token will point to the next Schema. + * // Optional. Returns the schema groups sorted by creation time. The page token will point to the next Schema. * pageToken: 'placeholder-value', * // Required. Format: `projects/{project\}/locations/{location\}` * parent: 'projects/my-project/locations/my-location', @@ -12267,7 +12288,7 @@ export namespace documentai_v1beta3 { * const res = await documentai.projects.locations.schemas.patch({ * // Identifier. The resource name of the Schema. Format: `projects/{project\}/locations/{location\}/schemas/{schema\}` * name: 'projects/my-project/locations/my-location/schemas/my-schema', - * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` * updateMask: 'placeholder-value', * * // Request body metadata @@ -12430,7 +12451,7 @@ export namespace documentai_v1beta3 { */ pageSize?: number; /** - * Optional. We will return the schema groups sorted by creation time. The page token will point to the next Schema. + * Optional. Returns the schema groups sorted by creation time. The page token will point to the next Schema. */ pageToken?: string; /** @@ -12444,7 +12465,7 @@ export namespace documentai_v1beta3 { */ name?: string; /** - * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` */ updateMask?: string; @@ -13114,7 +13135,7 @@ export namespace documentai_v1beta3 { * const res = await documentai.projects.locations.schemas.schemaVersions.list({ * // Optional. The maximum number of SchemaVersion to return. If unspecified, at most `10` SchemaVersion will be returned. The maximum value is `20`. Values above `20` will be coerced to `20`. * pageSize: 'placeholder-value', - * // Optional. We will return the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. + * // Optional. Returns the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. * pageToken: 'placeholder-value', * // Required. Format: `projects/{project\}/locations/{location\}/schemas/{schema\}` * parent: 'projects/my-project/locations/my-location/schemas/my-schema', @@ -13267,7 +13288,7 @@ export namespace documentai_v1beta3 { * const res = await documentai.projects.locations.schemas.schemaVersions.patch({ * // Identifier. The resource name of the SchemaVersion. Format: `projects/{project\}/locations/{location\}/schemas/{schema\}/schemaVersions/{schema_version\}` * name: 'projects/my-project/locations/my-location/schemas/my-schema/schemaVersions/my-schemaVersion', - * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * // Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` * updateMask: 'placeholder-value', * * // Request body metadata @@ -13438,7 +13459,7 @@ export namespace documentai_v1beta3 { */ pageSize?: number; /** - * Optional. We will return the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. + * Optional. Returns the SchemaVersion sorted by creation time. The page token will point to the next SchemaVersion. */ pageToken?: string; /** @@ -13452,7 +13473,7 @@ export namespace documentai_v1beta3 { */ name?: string; /** - * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - display_name. - labels. + * Optional. The update mask to apply to the resource. **Note:** Only the following fields can be updated: - `display_name` - `labels` */ updateMask?: string; From 4d6848a0c21945bb1cd485f73207f43d059bda89 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 19/42] feat(domains): update the API #### domains:v1alpha2 The following keys were added: - resources.projects.resources.locations.resources.operations.methods.list.parameters.returnPartialSuccess.description - resources.projects.resources.locations.resources.operations.methods.list.parameters.returnPartialSuccess.location - resources.projects.resources.locations.resources.operations.methods.list.parameters.returnPartialSuccess.type - schemas.ListOperationsResponse.properties.unreachable.description - schemas.ListOperationsResponse.properties.unreachable.items.type - schemas.ListOperationsResponse.properties.unreachable.type The following keys were changed: - resources.projects.resources.locations.methods.list.description - resources.projects.resources.locations.methods.list.parameters.extraLocationTypes.description --- discovery/domains-v1alpha2.json | 18 +++++++++++++++--- src/apis/domains/v1alpha2.ts | 19 +++++++++++++++---- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/discovery/domains-v1alpha2.json b/discovery/domains-v1alpha2.json index bec4062178..12bd78dfba 100644 --- a/discovery/domains-v1alpha2.json +++ b/discovery/domains-v1alpha2.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1alpha2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "domains.projects.locations.list", @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -241,6 +241,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "path": "v1alpha2/{+name}/operations", @@ -971,7 +976,7 @@ } } }, - "revision": "20250918", + "revision": "20260126", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -1630,6 +1635,13 @@ "$ref": "Operation" }, "type": "array" + }, + "unreachable": { + "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" diff --git a/src/apis/domains/v1alpha2.ts b/src/apis/domains/v1alpha2.ts index 9441c60f46..bfa8f6a9f3 100644 --- a/src/apis/domains/v1alpha2.ts +++ b/src/apis/domains/v1alpha2.ts @@ -533,6 +533,10 @@ export namespace domains_v1alpha2 { * A list of operations that matches the specified filter in the request. */ operations?: Schema$Operation[]; + /** + * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. + */ + unreachable?: string[] | null; } /** * Response for the `ListRegistrations` method. @@ -1322,7 +1326,7 @@ export namespace domains_v1alpha2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -1352,7 +1356,7 @@ export namespace domains_v1alpha2 { * * // Do the magic * const res = await domains.projects.locations.list({ - * // Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage. + * // Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. * extraLocationTypes: 'placeholder-value', * // A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). * filter: 'placeholder-value', @@ -1478,7 +1482,7 @@ export namespace domains_v1alpha2 { } export interface Params$Resource$Projects$Locations$List extends StandardParameters { /** - * Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage. + * Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. */ extraLocationTypes?: string[]; /** @@ -1682,13 +1686,16 @@ export namespace domains_v1alpha2 { * pageSize: 'placeholder-value', * // The standard list page token. * pageToken: 'placeholder-value', + * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { * // "nextPageToken": "my_nextPageToken", - * // "operations": [] + * // "operations": [], + * // "unreachable": [] * // } * } * @@ -1813,6 +1820,10 @@ export namespace domains_v1alpha2 { * The standard list page token. */ pageToken?: string; + /** + * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + */ + returnPartialSuccess?: boolean; } export class Resource$Projects$Locations$Registrations { From 809245d626cee247bad805a2f4e919b914f9b709 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 20/42] fix(file): update the API #### file:v1beta1 The following keys were changed: - resources.projects.resources.locations.methods.list.description #### file:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/file-v1.json | 4 ++-- discovery/file-v1beta1.json | 4 ++-- src/apis/file/v1.ts | 2 +- src/apis/file/v1beta1.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/discovery/file-v1.json b/discovery/file-v1.json index d259c95f8a..f84db7a0ab 100644 --- a/discovery/file-v1.json +++ b/discovery/file-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "file.projects.locations.list", @@ -969,7 +969,7 @@ } } }, - "revision": "20260114", + "revision": "20260201", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { diff --git a/discovery/file-v1beta1.json b/discovery/file-v1beta1.json index 6e03eb4109..f503d25fe7 100644 --- a/discovery/file-v1beta1.json +++ b/discovery/file-v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "file.projects.locations.list", @@ -1136,7 +1136,7 @@ } } }, - "revision": "20260114", + "revision": "20260201", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { diff --git a/src/apis/file/v1.ts b/src/apis/file/v1.ts index e57ce52410..50ea58403c 100644 --- a/src/apis/file/v1.ts +++ b/src/apis/file/v1.ts @@ -1308,7 +1308,7 @@ export namespace file_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/file/v1beta1.ts b/src/apis/file/v1beta1.ts index e1c2541bc2..5c35958b1d 100644 --- a/src/apis/file/v1beta1.ts +++ b/src/apis/file/v1beta1.ts @@ -1407,7 +1407,7 @@ export namespace file_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From ecb746d64c26d22e475f0f878a2b8ed35e4536ba Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 21/42] feat(firebasedataconnect): update the API #### firebasedataconnect:v1beta The following keys were added: - schemas.ClientCache.description - schemas.ClientCache.id - schemas.ClientCache.properties.entityIdIncluded.description - schemas.ClientCache.properties.entityIdIncluded.type - schemas.ClientCache.properties.strictValidationEnabled.description - schemas.ClientCache.properties.strictValidationEnabled.type - schemas.ClientCache.type - schemas.Connector.properties.clientCache.$ref - schemas.Connector.properties.clientCache.description - schemas.DataConnectProperties.description - schemas.DataConnectProperties.id - schemas.DataConnectProperties.properties.entityId.description - schemas.DataConnectProperties.properties.entityId.type - schemas.DataConnectProperties.properties.entityIds.description - schemas.DataConnectProperties.properties.entityIds.items.type - schemas.DataConnectProperties.properties.entityIds.type - schemas.DataConnectProperties.properties.maxAge.description - schemas.DataConnectProperties.properties.maxAge.format - schemas.DataConnectProperties.properties.maxAge.type - schemas.DataConnectProperties.properties.path.description - schemas.DataConnectProperties.properties.path.items.type - schemas.DataConnectProperties.properties.path.type - schemas.DataConnectProperties.type - schemas.ExecuteMutationResponse.properties.extensions.$ref - schemas.ExecuteMutationResponse.properties.extensions.description - schemas.ExecuteQueryResponse.properties.extensions.$ref - schemas.ExecuteQueryResponse.properties.extensions.description - schemas.GraphqlResponse.properties.extensions.$ref - schemas.GraphqlResponse.properties.extensions.description - schemas.GraphqlResponseExtensions.description - schemas.GraphqlResponseExtensions.id - schemas.GraphqlResponseExtensions.properties.dataConnect.description - schemas.GraphqlResponseExtensions.properties.dataConnect.items.$ref - schemas.GraphqlResponseExtensions.properties.dataConnect.type - schemas.GraphqlResponseExtensions.type The following keys were changed: - resources.projects.resources.locations.methods.list.description - schemas.GraphqlResponse.properties.errors.description #### firebasedataconnect:v1 The following keys were added: - schemas.ClientCache.description - schemas.ClientCache.id - schemas.ClientCache.properties.entityIdIncluded.description - schemas.ClientCache.properties.entityIdIncluded.type - schemas.ClientCache.properties.strictValidationEnabled.description - schemas.ClientCache.properties.strictValidationEnabled.type - schemas.ClientCache.type - schemas.Connector.properties.clientCache.$ref - schemas.Connector.properties.clientCache.description - schemas.DataConnectProperties.description - schemas.DataConnectProperties.id - schemas.DataConnectProperties.properties.entityId.description - schemas.DataConnectProperties.properties.entityId.type - schemas.DataConnectProperties.properties.entityIds.description - schemas.DataConnectProperties.properties.entityIds.items.type - schemas.DataConnectProperties.properties.entityIds.type - schemas.DataConnectProperties.properties.maxAge.description - schemas.DataConnectProperties.properties.maxAge.format - schemas.DataConnectProperties.properties.maxAge.type - schemas.DataConnectProperties.properties.path.description - schemas.DataConnectProperties.properties.path.items.type - schemas.DataConnectProperties.properties.path.type - schemas.DataConnectProperties.type - schemas.ExecuteMutationResponse.properties.extensions.$ref - schemas.ExecuteMutationResponse.properties.extensions.description - schemas.ExecuteQueryResponse.properties.extensions.$ref - schemas.ExecuteQueryResponse.properties.extensions.description - schemas.GraphqlResponse.properties.extensions.$ref - schemas.GraphqlResponse.properties.extensions.description - schemas.GraphqlResponseExtensions.description - schemas.GraphqlResponseExtensions.id - schemas.GraphqlResponseExtensions.properties.dataConnect.description - schemas.GraphqlResponseExtensions.properties.dataConnect.items.$ref - schemas.GraphqlResponseExtensions.properties.dataConnect.type - schemas.GraphqlResponseExtensions.type The following keys were changed: - resources.projects.resources.locations.methods.list.description - schemas.GraphqlResponse.properties.errors.description --- discovery/firebasedataconnect-v1.json | 81 ++++++++++++++++++++- discovery/firebasedataconnect-v1beta.json | 81 ++++++++++++++++++++- src/apis/firebasedataconnect/v1.ts | 87 ++++++++++++++++++++--- src/apis/firebasedataconnect/v1beta.ts | 87 ++++++++++++++++++++--- 4 files changed, 312 insertions(+), 24 deletions(-) diff --git a/discovery/firebasedataconnect-v1.json b/discovery/firebasedataconnect-v1.json index 17afbedaa2..c4e5aeacd5 100644 --- a/discovery/firebasedataconnect-v1.json +++ b/discovery/firebasedataconnect-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "firebasedataconnect.projects.locations.list", @@ -1165,7 +1165,7 @@ } } }, - "revision": "20260111", + "revision": "20260201", "rootUrl": "https://firebasedataconnect.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -1174,6 +1174,21 @@ "properties": {}, "type": "object" }, + "ClientCache": { + "description": "Client caching settings of a connector.", + "id": "ClientCache", + "properties": { + "entityIdIncluded": { + "description": "Optional. A field that, if true, means that responses served by this connector will include entityIds in GraphQL response extensions. This helps the client SDK cache responses in an improved way, known as \"normalized caching\", if caching is enabled on the client. Each entityId is a stable key based on primary key values. Therefore, this field should only be set to true if the primary keys of accessed tables do not contain sensitive information.", + "type": "boolean" + }, + "strictValidationEnabled": { + "description": "Optional. A field that, if true, enables stricter validation on the connector source code to make sure the operation response shapes are suitable for client-side caching. This can include additional errors and warnings. For example, using the same alias for different fields is disallowed, as it may cause conflicts or confusion with normalized caching. (This field is off by default for compatibility, but enabling it is highly recommended to catch common caching pitfalls.)", + "type": "boolean" + } + }, + "type": "object" + }, "CloudSqlInstance": { "description": "Settings for CloudSQL instance configuration.", "id": "CloudSqlInstance", @@ -1196,6 +1211,10 @@ "description": "Optional. Stores small amounts of arbitrary data.", "type": "object" }, + "clientCache": { + "$ref": "ClientCache", + "description": "Optional. The client cache settings of the connector." + }, "createTime": { "description": "Output only. [Output only] Create time stamp.", "format": "google-datetime", @@ -1245,6 +1264,36 @@ }, "type": "object" }, + "DataConnectProperties": { + "description": "Data Connect specific properties for a path under response.data.", + "id": "DataConnectProperties", + "properties": { + "entityId": { + "description": "A single Entity ID. Set if the path points to a single entity.", + "type": "string" + }, + "entityIds": { + "description": "A list of Entity IDs. Set if the path points to an array of entities. An ID is present for each element of the array at the corresponding index.", + "items": { + "type": "string" + }, + "type": "array" + }, + "maxAge": { + "description": "The server-suggested duration before data under path is considered stale.", + "format": "google-duration", + "type": "string" + }, + "path": { + "description": "The path under response.data where the rest of the fields apply. Each element may be a string (field name) or number (array index). The root of response.data is denoted by the empty list `[]`.", + "items": { + "type": "any" + }, + "type": "array" + } + }, + "type": "object" + }, "Datasource": { "description": "A data source that backs Firebase Data Connect services.", "id": "Datasource", @@ -1303,6 +1352,10 @@ "$ref": "GraphqlError" }, "type": "array" + }, + "extensions": { + "$ref": "GraphqlResponseExtensions", + "description": "Additional response information." } }, "type": "object" @@ -1344,6 +1397,10 @@ "$ref": "GraphqlError" }, "type": "array" + }, + "extensions": { + "$ref": "GraphqlResponseExtensions", + "description": "Additional response information." } }, "type": "object" @@ -1525,11 +1582,29 @@ "type": "object" }, "errors": { - "description": "Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors.", + "description": "Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors .", "items": { "$ref": "GraphqlError" }, "type": "array" + }, + "extensions": { + "$ref": "GraphqlResponseExtensions", + "description": "Additional response information. It conforms to https://spec.graphql.org/draft/#sec-Extensions ." + } + }, + "type": "object" + }, + "GraphqlResponseExtensions": { + "description": "GraphqlResponseExtensions contains additional information of `GraphqlResponse` or `ExecuteQueryResponse`.", + "id": "GraphqlResponseExtensions", + "properties": { + "dataConnect": { + "description": "Data Connect specific GraphQL extension, a list of paths and properties.", + "items": { + "$ref": "DataConnectProperties" + }, + "type": "array" } }, "type": "object" diff --git a/discovery/firebasedataconnect-v1beta.json b/discovery/firebasedataconnect-v1beta.json index 2ab59bcb75..5a020d8ca6 100644 --- a/discovery/firebasedataconnect-v1beta.json +++ b/discovery/firebasedataconnect-v1beta.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta/projects/{projectsId}/locations", "httpMethod": "GET", "id": "firebasedataconnect.projects.locations.list", @@ -1165,7 +1165,7 @@ } } }, - "revision": "20260111", + "revision": "20260201", "rootUrl": "https://firebasedataconnect.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -1174,6 +1174,21 @@ "properties": {}, "type": "object" }, + "ClientCache": { + "description": "Client caching settings of a connector.", + "id": "ClientCache", + "properties": { + "entityIdIncluded": { + "description": "Optional. A field that, if true, means that responses served by this connector will include entityIds in GraphQL response extensions. This helps the client SDK cache responses in an improved way, known as \"normalized caching\", if caching is enabled on the client. Each entityId is a stable key based on primary key values. Therefore, this field should only be set to true if the primary keys of accessed tables do not contain sensitive information.", + "type": "boolean" + }, + "strictValidationEnabled": { + "description": "Optional. A field that, if true, enables stricter validation on the connector source code to make sure the operation response shapes are suitable for client-side caching. This can include additional errors and warnings. For example, using the same alias for different fields is disallowed, as it may cause conflicts or confusion with normalized caching. (This field is off by default for compatibility, but enabling it is highly recommended to catch common caching pitfalls.)", + "type": "boolean" + } + }, + "type": "object" + }, "CloudSqlInstance": { "description": "Settings for CloudSQL instance configuration.", "id": "CloudSqlInstance", @@ -1196,6 +1211,10 @@ "description": "Optional. Stores small amounts of arbitrary data.", "type": "object" }, + "clientCache": { + "$ref": "ClientCache", + "description": "Optional. The client cache settings of the connector." + }, "createTime": { "description": "Output only. [Output only] Create time stamp.", "format": "google-datetime", @@ -1245,6 +1264,36 @@ }, "type": "object" }, + "DataConnectProperties": { + "description": "Data Connect specific properties for a path under response.data.", + "id": "DataConnectProperties", + "properties": { + "entityId": { + "description": "A single Entity ID. Set if the path points to a single entity.", + "type": "string" + }, + "entityIds": { + "description": "A list of Entity IDs. Set if the path points to an array of entities. An ID is present for each element of the array at the corresponding index.", + "items": { + "type": "string" + }, + "type": "array" + }, + "maxAge": { + "description": "The server-suggested duration before data under path is considered stale.", + "format": "google-duration", + "type": "string" + }, + "path": { + "description": "The path under response.data where the rest of the fields apply. Each element may be a string (field name) or number (array index). The root of response.data is denoted by the empty list `[]`.", + "items": { + "type": "any" + }, + "type": "array" + } + }, + "type": "object" + }, "Datasource": { "description": "A data source that backs Firebase Data Connect services.", "id": "Datasource", @@ -1303,6 +1352,10 @@ "$ref": "GraphqlError" }, "type": "array" + }, + "extensions": { + "$ref": "GraphqlResponseExtensions", + "description": "Additional response information." } }, "type": "object" @@ -1344,6 +1397,10 @@ "$ref": "GraphqlError" }, "type": "array" + }, + "extensions": { + "$ref": "GraphqlResponseExtensions", + "description": "Additional response information." } }, "type": "object" @@ -1525,11 +1582,29 @@ "type": "object" }, "errors": { - "description": "Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors.", + "description": "Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors .", "items": { "$ref": "GraphqlError" }, "type": "array" + }, + "extensions": { + "$ref": "GraphqlResponseExtensions", + "description": "Additional response information. It conforms to https://spec.graphql.org/draft/#sec-Extensions ." + } + }, + "type": "object" + }, + "GraphqlResponseExtensions": { + "description": "GraphqlResponseExtensions contains additional information of `GraphqlResponse` or `ExecuteQueryResponse`.", + "id": "GraphqlResponseExtensions", + "properties": { + "dataConnect": { + "description": "Data Connect specific GraphQL extension, a list of paths and properties.", + "items": { + "$ref": "DataConnectProperties" + }, + "type": "array" } }, "type": "object" diff --git a/src/apis/firebasedataconnect/v1.ts b/src/apis/firebasedataconnect/v1.ts index dbff7f7fb0..d15d535eb8 100644 --- a/src/apis/firebasedataconnect/v1.ts +++ b/src/apis/firebasedataconnect/v1.ts @@ -128,6 +128,19 @@ export namespace firebasedataconnect_v1 { * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} + /** + * Client caching settings of a connector. + */ + export interface Schema$ClientCache { + /** + * Optional. A field that, if true, means that responses served by this connector will include entityIds in GraphQL response extensions. This helps the client SDK cache responses in an improved way, known as "normalized caching", if caching is enabled on the client. Each entityId is a stable key based on primary key values. Therefore, this field should only be set to true if the primary keys of accessed tables do not contain sensitive information. + */ + entityIdIncluded?: boolean | null; + /** + * Optional. A field that, if true, enables stricter validation on the connector source code to make sure the operation response shapes are suitable for client-side caching. This can include additional errors and warnings. For example, using the same alias for different fields is disallowed, as it may cause conflicts or confusion with normalized caching. (This field is off by default for compatibility, but enabling it is highly recommended to catch common caching pitfalls.) + */ + strictValidationEnabled?: boolean | null; + } /** * Settings for CloudSQL instance configuration. */ @@ -145,6 +158,10 @@ export namespace firebasedataconnect_v1 { * Optional. Stores small amounts of arbitrary data. */ annotations?: {[key: string]: string} | null; + /** + * Optional. The client cache settings of the connector. + */ + clientCache?: Schema$ClientCache; /** * Output only. [Output only] Create time stamp. */ @@ -182,6 +199,27 @@ export namespace firebasedataconnect_v1 { */ updateTime?: string | null; } + /** + * Data Connect specific properties for a path under response.data. + */ + export interface Schema$DataConnectProperties { + /** + * A single Entity ID. Set if the path points to a single entity. + */ + entityId?: string | null; + /** + * A list of Entity IDs. Set if the path points to an array of entities. An ID is present for each element of the array at the corresponding index. + */ + entityIds?: string[] | null; + /** + * The server-suggested duration before data under path is considered stale. + */ + maxAge?: string | null; + /** + * The path under response.data where the rest of the fields apply. Each element may be a string (field name) or number (array index). The root of response.data is denoted by the empty list `[]`. + */ + path?: any[] | null; + } /** * A data source that backs Firebase Data Connect services. */ @@ -224,6 +262,10 @@ export namespace firebasedataconnect_v1 { * Errors of this response. */ errors?: Schema$GraphqlError[]; + /** + * Additional response information. + */ + extensions?: Schema$GraphqlResponseExtensions; } /** * The ExecuteQuery request to Firebase Data Connect. @@ -250,6 +292,10 @@ export namespace firebasedataconnect_v1 { * Errors of this response. */ errors?: Schema$GraphqlError[]; + /** + * Additional response information. + */ + extensions?: Schema$GraphqlResponseExtensions; } /** * Individual files. @@ -349,9 +395,22 @@ export namespace firebasedataconnect_v1 { */ data?: {[key: string]: any} | null; /** - * Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors. + * Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors . */ errors?: Schema$GraphqlError[]; + /** + * Additional response information. It conforms to https://spec.graphql.org/draft/#sec-Extensions . + */ + extensions?: Schema$GraphqlResponseExtensions; + } + /** + * GraphqlResponseExtensions contains additional information of `GraphqlResponse` or `ExecuteQueryResponse`. + */ + export interface Schema$GraphqlResponseExtensions { + /** + * Data Connect specific GraphQL extension, a list of paths and properties. + */ + dataConnect?: Schema$DataConnectProperties[]; } /** * Settings for HTTP GraphQL server webhook. @@ -901,7 +960,7 @@ export namespace firebasedataconnect_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -2071,7 +2130,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -2225,7 +2285,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -2522,7 +2583,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -3129,6 +3191,7 @@ export namespace firebasedataconnect_v1 { * // request body parameters * // { * // "annotations": {}, + * // "clientCache": {}, * // "createTime": "my_createTime", * // "displayName": "my_displayName", * // "etag": "my_etag", @@ -3452,7 +3515,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -3608,7 +3672,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -3753,6 +3818,7 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "annotations": {}, + * // "clientCache": {}, * // "createTime": "my_createTime", * // "displayName": "my_displayName", * // "etag": "my_etag", @@ -3911,7 +3977,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -4066,7 +4133,8 @@ export namespace firebasedataconnect_v1 { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -4369,6 +4437,7 @@ export namespace firebasedataconnect_v1 { * // request body parameters * // { * // "annotations": {}, + * // "clientCache": {}, * // "createTime": "my_createTime", * // "displayName": "my_displayName", * // "etag": "my_etag", diff --git a/src/apis/firebasedataconnect/v1beta.ts b/src/apis/firebasedataconnect/v1beta.ts index 099ac22bfa..7d5f25278d 100644 --- a/src/apis/firebasedataconnect/v1beta.ts +++ b/src/apis/firebasedataconnect/v1beta.ts @@ -128,6 +128,19 @@ export namespace firebasedataconnect_v1beta { * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} + /** + * Client caching settings of a connector. + */ + export interface Schema$ClientCache { + /** + * Optional. A field that, if true, means that responses served by this connector will include entityIds in GraphQL response extensions. This helps the client SDK cache responses in an improved way, known as "normalized caching", if caching is enabled on the client. Each entityId is a stable key based on primary key values. Therefore, this field should only be set to true if the primary keys of accessed tables do not contain sensitive information. + */ + entityIdIncluded?: boolean | null; + /** + * Optional. A field that, if true, enables stricter validation on the connector source code to make sure the operation response shapes are suitable for client-side caching. This can include additional errors and warnings. For example, using the same alias for different fields is disallowed, as it may cause conflicts or confusion with normalized caching. (This field is off by default for compatibility, but enabling it is highly recommended to catch common caching pitfalls.) + */ + strictValidationEnabled?: boolean | null; + } /** * Settings for CloudSQL instance configuration. */ @@ -145,6 +158,10 @@ export namespace firebasedataconnect_v1beta { * Optional. Stores small amounts of arbitrary data. */ annotations?: {[key: string]: string} | null; + /** + * Optional. The client cache settings of the connector. + */ + clientCache?: Schema$ClientCache; /** * Output only. [Output only] Create time stamp. */ @@ -182,6 +199,27 @@ export namespace firebasedataconnect_v1beta { */ updateTime?: string | null; } + /** + * Data Connect specific properties for a path under response.data. + */ + export interface Schema$DataConnectProperties { + /** + * A single Entity ID. Set if the path points to a single entity. + */ + entityId?: string | null; + /** + * A list of Entity IDs. Set if the path points to an array of entities. An ID is present for each element of the array at the corresponding index. + */ + entityIds?: string[] | null; + /** + * The server-suggested duration before data under path is considered stale. + */ + maxAge?: string | null; + /** + * The path under response.data where the rest of the fields apply. Each element may be a string (field name) or number (array index). The root of response.data is denoted by the empty list `[]`. + */ + path?: any[] | null; + } /** * A data source that backs Firebase Data Connect services. */ @@ -224,6 +262,10 @@ export namespace firebasedataconnect_v1beta { * Errors of this response. */ errors?: Schema$GraphqlError[]; + /** + * Additional response information. + */ + extensions?: Schema$GraphqlResponseExtensions; } /** * The ExecuteQuery request to Firebase Data Connect. @@ -250,6 +292,10 @@ export namespace firebasedataconnect_v1beta { * Errors of this response. */ errors?: Schema$GraphqlError[]; + /** + * Additional response information. + */ + extensions?: Schema$GraphqlResponseExtensions; } /** * Individual files. @@ -349,9 +395,22 @@ export namespace firebasedataconnect_v1beta { */ data?: {[key: string]: any} | null; /** - * Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors. + * Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors . */ errors?: Schema$GraphqlError[]; + /** + * Additional response information. It conforms to https://spec.graphql.org/draft/#sec-Extensions . + */ + extensions?: Schema$GraphqlResponseExtensions; + } + /** + * GraphqlResponseExtensions contains additional information of `GraphqlResponse` or `ExecuteQueryResponse`. + */ + export interface Schema$GraphqlResponseExtensions { + /** + * Data Connect specific GraphQL extension, a list of paths and properties. + */ + dataConnect?: Schema$DataConnectProperties[]; } /** * Settings for HTTP GraphQL server webhook. @@ -901,7 +960,7 @@ export namespace firebasedataconnect_v1beta { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -2074,7 +2133,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -2228,7 +2288,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -2525,7 +2586,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -3132,6 +3194,7 @@ export namespace firebasedataconnect_v1beta { * // request body parameters * // { * // "annotations": {}, + * // "clientCache": {}, * // "createTime": "my_createTime", * // "displayName": "my_displayName", * // "etag": "my_etag", @@ -3455,7 +3518,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -3611,7 +3675,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -3756,6 +3821,7 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "annotations": {}, + * // "clientCache": {}, * // "createTime": "my_createTime", * // "displayName": "my_displayName", * // "etag": "my_etag", @@ -3914,7 +3980,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -4069,7 +4136,8 @@ export namespace firebasedataconnect_v1beta { * // Example response * // { * // "data": {}, - * // "errors": [] + * // "errors": [], + * // "extensions": {} * // } * } * @@ -4372,6 +4440,7 @@ export namespace firebasedataconnect_v1beta { * // request body parameters * // { * // "annotations": {}, + * // "clientCache": {}, * // "createTime": "my_createTime", * // "displayName": "my_displayName", * // "etag": "my_etag", From bfc36c731a7aa2db54b91b776cae9ce268256d27 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 22/42] fix(firestore): update the API #### firestore:v1beta1 The following keys were changed: - endpoints #### firestore:v1beta2 The following keys were changed: - endpoints #### firestore:v1 The following keys were changed: - endpoints - resources.projects.resources.locations.methods.list.description - schemas.GoogleFirestoreAdminV1TtlConfig.description --- discovery/firestore-v1.json | 26 +++++++++++++++++++++++--- discovery/firestore-v1beta1.json | 22 +++++++++++++++++++++- discovery/firestore-v1beta2.json | 22 +++++++++++++++++++++- src/apis/firestore/v1.ts | 4 ++-- 4 files changed, 67 insertions(+), 7 deletions(-) diff --git a/discovery/firestore-v1.json b/discovery/firestore-v1.json index 30145447a5..ce9bc9e419 100644 --- a/discovery/firestore-v1.json +++ b/discovery/firestore-v1.json @@ -69,6 +69,11 @@ "endpointUrl": "https://firestore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://firestore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://firestore.australia-southeast1.rep.googleapis.com/", @@ -114,6 +119,11 @@ "endpointUrl": "https://firestore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://firestore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://firestore.europe-west2.rep.googleapis.com/", @@ -279,6 +289,11 @@ "endpointUrl": "https://batch-firestore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-firestore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-firestore.australia-southeast1.rep.googleapis.com/", @@ -324,6 +339,11 @@ "endpointUrl": "https://batch-firestore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-firestore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-firestore.europe-west2.rep.googleapis.com/", @@ -2284,7 +2304,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "firestore.projects.locations.list", @@ -2425,7 +2445,7 @@ } } }, - "revision": "20260116", + "revision": "20260130", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { @@ -4649,7 +4669,7 @@ "type": "object" }, "GoogleFirestoreAdminV1TtlConfig": { - "description": "The TTL (time-to-live) configuration for documents that have this `Field` set. Storing a timestamp value into a TTL-enabled field will be treated as the document's absolute expiration time. Timestamp values in the past indicate that the document is eligible for immediate expiration. Using any other data type or leaving the field absent will disable expiration for the individual document.", + "description": "The TTL (time-to-live) configuration for documents that have this `Field` set. Storing a timestamp value into a TTL-enabled field will be treated as the document's absolute expiration time. For Enterprise edition databases, the timestamp value may also be stored in an array value in the TTL-enabled field. Timestamp values in the past indicate that the document is eligible for immediate expiration. Using any other data type or leaving the field absent will disable expiration for the individual document.", "id": "GoogleFirestoreAdminV1TtlConfig", "properties": { "state": { diff --git a/discovery/firestore-v1beta1.json b/discovery/firestore-v1beta1.json index 57a3bd456e..9ef80f0c78 100644 --- a/discovery/firestore-v1beta1.json +++ b/discovery/firestore-v1beta1.json @@ -69,6 +69,11 @@ "endpointUrl": "https://firestore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://firestore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://firestore.australia-southeast1.rep.googleapis.com/", @@ -114,6 +119,11 @@ "endpointUrl": "https://firestore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://firestore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://firestore.europe-west2.rep.googleapis.com/", @@ -279,6 +289,11 @@ "endpointUrl": "https://batch-firestore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-firestore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-firestore.australia-southeast1.rep.googleapis.com/", @@ -324,6 +339,11 @@ "endpointUrl": "https://batch-firestore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-firestore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-firestore.europe-west2.rep.googleapis.com/", @@ -1421,7 +1441,7 @@ } } }, - "revision": "20260105", + "revision": "20260130", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { diff --git a/discovery/firestore-v1beta2.json b/discovery/firestore-v1beta2.json index 33a38b441b..d159a27a24 100644 --- a/discovery/firestore-v1beta2.json +++ b/discovery/firestore-v1beta2.json @@ -69,6 +69,11 @@ "endpointUrl": "https://firestore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://firestore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://firestore.australia-southeast1.rep.googleapis.com/", @@ -114,6 +119,11 @@ "endpointUrl": "https://firestore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://firestore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://firestore.europe-west2.rep.googleapis.com/", @@ -279,6 +289,11 @@ "endpointUrl": "https://batch-firestore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-firestore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-firestore.australia-southeast1.rep.googleapis.com/", @@ -324,6 +339,11 @@ "endpointUrl": "https://batch-firestore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-firestore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-firestore.europe-west2.rep.googleapis.com/", @@ -857,7 +877,7 @@ } } }, - "revision": "20260105", + "revision": "20260130", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Empty": { diff --git a/src/apis/firestore/v1.ts b/src/apis/firestore/v1.ts index 7ecfadffc4..1f3fa8a69d 100644 --- a/src/apis/firestore/v1.ts +++ b/src/apis/firestore/v1.ts @@ -1552,7 +1552,7 @@ export namespace firestore_v1 { sizeBytes?: string | null; } /** - * The TTL (time-to-live) configuration for documents that have this `Field` set. Storing a timestamp value into a TTL-enabled field will be treated as the document's absolute expiration time. Timestamp values in the past indicate that the document is eligible for immediate expiration. Using any other data type or leaving the field absent will disable expiration for the individual document. + * The TTL (time-to-live) configuration for documents that have this `Field` set. Storing a timestamp value into a TTL-enabled field will be treated as the document's absolute expiration time. For Enterprise edition databases, the timestamp value may also be stored in an array value in the TTL-enabled field. Timestamp values in the past indicate that the document is eligible for immediate expiration. Using any other data type or leaving the field absent will disable expiration for the individual document. */ export interface Schema$GoogleFirestoreAdminV1TtlConfig { /** @@ -11169,7 +11169,7 @@ export namespace firestore_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From d9448cd6726d108ef42b2c9827451de8789733f9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 23/42] feat(logging): update the API #### logging:v2 The following keys were added: - schemas.FieldSource.description - schemas.FieldSource.id - schemas.FieldSource.properties.aliasRef.description - schemas.FieldSource.properties.aliasRef.type - schemas.FieldSource.properties.columnType.description - schemas.FieldSource.properties.columnType.type - schemas.FieldSource.properties.field.description - schemas.FieldSource.properties.field.type - schemas.FieldSource.properties.isJson.description - schemas.FieldSource.properties.isJson.type - schemas.FieldSource.properties.parentPath.description - schemas.FieldSource.properties.parentPath.type - schemas.FieldSource.properties.projectedField.$ref - schemas.FieldSource.properties.projectedField.description - schemas.FieldSource.type - schemas.FilterExpression.description - schemas.FilterExpression.id - schemas.FilterExpression.properties.comparator.description - schemas.FilterExpression.properties.comparator.enum - schemas.FilterExpression.properties.comparator.enumDescriptions - schemas.FilterExpression.properties.comparator.type - schemas.FilterExpression.properties.fieldSource.$ref - schemas.FilterExpression.properties.fieldSource.description - schemas.FilterExpression.properties.fieldSourceValue.$ref - schemas.FilterExpression.properties.fieldSourceValue.description - schemas.FilterExpression.properties.isNegation.description - schemas.FilterExpression.properties.isNegation.type - schemas.FilterExpression.properties.literalValue.description - schemas.FilterExpression.properties.literalValue.type - schemas.FilterExpression.type - schemas.FilterPredicate.description - schemas.FilterPredicate.id - schemas.FilterPredicate.properties.childPredicates.description - schemas.FilterPredicate.properties.childPredicates.items.$ref - schemas.FilterPredicate.properties.childPredicates.type - schemas.FilterPredicate.properties.leafPredicate.$ref - schemas.FilterPredicate.properties.leafPredicate.description - schemas.FilterPredicate.properties.operatorType.description - schemas.FilterPredicate.properties.operatorType.enum - schemas.FilterPredicate.properties.operatorType.enumDescriptions - schemas.FilterPredicate.properties.operatorType.type - schemas.FilterPredicate.type - schemas.FunctionApplication.description - schemas.FunctionApplication.id - schemas.FunctionApplication.properties.parameters.description - schemas.FunctionApplication.properties.parameters.items.type - schemas.FunctionApplication.properties.parameters.type - schemas.FunctionApplication.properties.type.description - schemas.FunctionApplication.properties.type.type - schemas.FunctionApplication.type - schemas.OpsAnalyticsQuery.properties.queryBuilder.$ref - schemas.OpsAnalyticsQuery.properties.queryBuilder.description - schemas.ProjectedField.description - schemas.ProjectedField.id - schemas.ProjectedField.properties.alias.description - schemas.ProjectedField.properties.alias.type - schemas.ProjectedField.properties.cast.description - schemas.ProjectedField.properties.cast.type - schemas.ProjectedField.properties.field.description - schemas.ProjectedField.properties.field.type - schemas.ProjectedField.properties.operation.description - schemas.ProjectedField.properties.operation.enum - schemas.ProjectedField.properties.operation.enumDescriptions - schemas.ProjectedField.properties.operation.type - schemas.ProjectedField.properties.regexExtraction.description - schemas.ProjectedField.properties.regexExtraction.type - schemas.ProjectedField.properties.sqlAggregationFunction.$ref - schemas.ProjectedField.properties.sqlAggregationFunction.description - schemas.ProjectedField.properties.truncationGranularity.description - schemas.ProjectedField.properties.truncationGranularity.type - schemas.ProjectedField.type - schemas.QueryBuilderConfig.description - schemas.QueryBuilderConfig.id - schemas.QueryBuilderConfig.properties.fieldSources.description - schemas.QueryBuilderConfig.properties.fieldSources.items.$ref - schemas.QueryBuilderConfig.properties.fieldSources.type - schemas.QueryBuilderConfig.properties.filter.$ref - schemas.QueryBuilderConfig.properties.filter.description - schemas.QueryBuilderConfig.properties.limit.description - schemas.QueryBuilderConfig.properties.limit.format - schemas.QueryBuilderConfig.properties.limit.type - schemas.QueryBuilderConfig.properties.orderBys.description - schemas.QueryBuilderConfig.properties.orderBys.items.$ref - schemas.QueryBuilderConfig.properties.orderBys.type - schemas.QueryBuilderConfig.properties.resourceNames.description - schemas.QueryBuilderConfig.properties.resourceNames.items.type - schemas.QueryBuilderConfig.properties.resourceNames.type - schemas.QueryBuilderConfig.properties.searchTerm.description - schemas.QueryBuilderConfig.properties.searchTerm.type - schemas.QueryBuilderConfig.type - schemas.SortOrderParameter.description - schemas.SortOrderParameter.id - schemas.SortOrderParameter.properties.fieldSource.$ref - schemas.SortOrderParameter.properties.fieldSource.description - schemas.SortOrderParameter.properties.sortOrderDirection.description - schemas.SortOrderParameter.properties.sortOrderDirection.enum - schemas.SortOrderParameter.properties.sortOrderDirection.enumDescriptions - schemas.SortOrderParameter.properties.sortOrderDirection.type - schemas.SortOrderParameter.type The following keys were changed: - resources.billingAccounts.methods.getCmekSettings.description - resources.billingAccounts.methods.getSettings.description - resources.billingAccounts.resources.locations.methods.list.description - resources.billingAccounts.resources.locations.resources.savedQueries.methods.patch.parameters.name.description - resources.billingAccounts.resources.sinks.methods.create.parameters.uniqueWriterIdentity.description - resources.billingAccounts.resources.sinks.methods.patch.parameters.uniqueWriterIdentity.description - resources.billingAccounts.resources.sinks.methods.update.parameters.uniqueWriterIdentity.description - resources.folders.methods.getCmekSettings.description - resources.folders.methods.getSettings.description - resources.folders.methods.updateSettings.description - resources.folders.resources.locations.methods.list.description - resources.folders.resources.locations.resources.savedQueries.methods.patch.parameters.name.description - resources.folders.resources.sinks.methods.create.parameters.uniqueWriterIdentity.description - resources.folders.resources.sinks.methods.patch.parameters.uniqueWriterIdentity.description - resources.folders.resources.sinks.methods.update.parameters.uniqueWriterIdentity.description - resources.locations.methods.list.description - resources.organizations.methods.getCmekSettings.description - resources.organizations.methods.getSettings.description - resources.organizations.methods.updateCmekSettings.description - resources.organizations.methods.updateSettings.description - resources.organizations.resources.locations.methods.list.description - resources.organizations.resources.locations.resources.savedQueries.methods.patch.parameters.name.description - resources.organizations.resources.sinks.methods.create.parameters.uniqueWriterIdentity.description - resources.organizations.resources.sinks.methods.patch.parameters.uniqueWriterIdentity.description - resources.organizations.resources.sinks.methods.update.parameters.uniqueWriterIdentity.description - resources.projects.methods.getCmekSettings.description - resources.projects.methods.getSettings.description - resources.projects.resources.locations.methods.list.description - resources.projects.resources.locations.resources.savedQueries.methods.patch.parameters.name.description - resources.projects.resources.sinks.methods.create.parameters.uniqueWriterIdentity.description - resources.projects.resources.sinks.methods.patch.parameters.uniqueWriterIdentity.description - resources.projects.resources.sinks.methods.update.parameters.uniqueWriterIdentity.description - resources.sinks.methods.create.parameters.uniqueWriterIdentity.description - resources.sinks.methods.update.parameters.uniqueWriterIdentity.description - resources.v2.methods.getCmekSettings.description - resources.v2.methods.getSettings.description - resources.v2.methods.updateCmekSettings.description - resources.v2.methods.updateSettings.description - schemas.BigQueryOptions.properties.usePartitionedTables.description - schemas.CmekSettings.description - schemas.CmekSettings.properties.kmsKeyName.description - schemas.CmekSettings.properties.serviceAccountId.description - schemas.DefaultSinkConfig.properties.filter.description - schemas.IndexConfig.properties.fieldPath.description - schemas.LogBucket.properties.name.description - schemas.LogExclusion.properties.filter.description - schemas.LogSink.properties.destination.description - schemas.LogSink.properties.filter.description - schemas.LogSink.properties.writerIdentity.description - schemas.LoggingQuery.properties.filter.description - schemas.OpsAnalyticsQuery.description - schemas.OpsAnalyticsQuery.properties.sqlQueryText.description - schemas.RecentQuery.properties.name.description - schemas.SavedQuery.properties.name.description - schemas.Settings.properties.kmsKeyName.description - schemas.Settings.properties.kmsServiceAccountId.description - schemas.SummaryField.description --- discovery/logging-v2.json | 369 ++++++++++++++++++++++++++++++++------ src/apis/logging/v2.ts | 313 ++++++++++++++++++++++++-------- 2 files changed, 549 insertions(+), 133 deletions(-) diff --git a/discovery/logging-v2.json b/discovery/logging-v2.json index 296f36e72d..17d09f6153 100644 --- a/discovery/logging-v2.json +++ b/discovery/logging-v2.json @@ -382,7 +382,7 @@ "billingAccounts": { "methods": { "getCmekSettings": { - "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/billingAccounts/{billingAccountsId}/cmekSettings", "httpMethod": "GET", "id": "logging.billingAccounts.getCmekSettings", @@ -410,7 +410,7 @@ ] }, "getSettings": { - "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", + "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", "flatPath": "v2/billingAccounts/{billingAccountsId}/settings", "httpMethod": "GET", "id": "logging.billingAccounts.getSettings", @@ -631,7 +631,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/billingAccounts/{billingAccountsId}/locations", "httpMethod": "GET", "id": "logging.billingAccounts.locations.list", @@ -1598,7 +1598,7 @@ ], "parameters": { "name": { - "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", + "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", "location": "path", "pattern": "^billingAccounts/[^/]+/locations/[^/]+/savedQueries/[^/]+$", "required": true, @@ -1726,7 +1726,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -1863,7 +1863,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -1908,7 +1908,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -2184,7 +2184,7 @@ "folders": { "methods": { "getCmekSettings": { - "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/folders/{foldersId}/cmekSettings", "httpMethod": "GET", "id": "logging.folders.getCmekSettings", @@ -2212,7 +2212,7 @@ ] }, "getSettings": { - "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", + "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", "flatPath": "v2/folders/{foldersId}/settings", "httpMethod": "GET", "id": "logging.folders.getSettings", @@ -2240,7 +2240,7 @@ ] }, "updateSettings": { - "description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information.", + "description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://docs.cloud.google.com/logging/docs/default-settings) for more information.", "flatPath": "v2/folders/{foldersId}/settings", "httpMethod": "PATCH", "id": "logging.folders.updateSettings", @@ -2468,7 +2468,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/folders/{foldersId}/locations", "httpMethod": "GET", "id": "logging.folders.locations.list", @@ -3692,7 +3692,7 @@ ], "parameters": { "name": { - "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", + "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/savedQueries/[^/]+$", "required": true, @@ -3820,7 +3820,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -3957,7 +3957,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -4002,7 +4002,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -4060,7 +4060,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/{v2Id}/{v2Id1}/locations", "httpMethod": "GET", "id": "logging.locations.list", @@ -4989,7 +4989,7 @@ "organizations": { "methods": { "getCmekSettings": { - "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/organizations/{organizationsId}/cmekSettings", "httpMethod": "GET", "id": "logging.organizations.getCmekSettings", @@ -5017,7 +5017,7 @@ ] }, "getSettings": { - "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", + "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", "flatPath": "v2/organizations/{organizationsId}/settings", "httpMethod": "GET", "id": "logging.organizations.getSettings", @@ -5045,7 +5045,7 @@ ] }, "updateCmekSettings": { - "description": "Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/organizations/{organizationsId}/cmekSettings", "httpMethod": "PATCH", "id": "logging.organizations.updateCmekSettings", @@ -5080,7 +5080,7 @@ ] }, "updateSettings": { - "description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information.", + "description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://docs.cloud.google.com/logging/docs/default-settings) for more information.", "flatPath": "v2/organizations/{organizationsId}/settings", "httpMethod": "PATCH", "id": "logging.organizations.updateSettings", @@ -5308,7 +5308,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/organizations/{organizationsId}/locations", "httpMethod": "GET", "id": "logging.organizations.locations.list", @@ -6532,7 +6532,7 @@ ], "parameters": { "name": { - "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", + "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/savedQueries/[^/]+$", "required": true, @@ -6660,7 +6660,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -6797,7 +6797,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -6842,7 +6842,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -6872,7 +6872,7 @@ "projects": { "methods": { "getCmekSettings": { - "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/projects/{projectsId}/cmekSettings", "httpMethod": "GET", "id": "logging.projects.getCmekSettings", @@ -6900,7 +6900,7 @@ ] }, "getSettings": { - "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", + "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", "flatPath": "v2/projects/{projectsId}/settings", "httpMethod": "GET", "id": "logging.projects.getSettings", @@ -7121,7 +7121,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id}/locations. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "logging.projects.locations.list", @@ -8345,7 +8345,7 @@ ], "parameters": { "name": { - "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", + "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/savedQueries/[^/]+$", "required": true, @@ -8631,7 +8631,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -8768,7 +8768,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -8813,7 +8813,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -8864,7 +8864,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", + "description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", "location": "query", "type": "boolean" } @@ -9001,7 +9001,7 @@ "type": "string" }, "uniqueWriterIdentity": { - "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", + "description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", "location": "query", "type": "boolean" }, @@ -9029,7 +9029,7 @@ "v2": { "methods": { "getCmekSettings": { - "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/{v2Id}/{v2Id1}/cmekSettings", "httpMethod": "GET", "id": "logging.getCmekSettings", @@ -9057,7 +9057,7 @@ ] }, "getSettings": { - "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", + "description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", "flatPath": "v2/{v2Id}/{v2Id1}/settings", "httpMethod": "GET", "id": "logging.getSettings", @@ -9085,7 +9085,7 @@ ] }, "updateCmekSettings": { - "description": "Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "flatPath": "v2/{v2Id}/{v2Id1}/cmekSettings", "httpMethod": "PATCH", "id": "logging.updateCmekSettings", @@ -9120,7 +9120,7 @@ ] }, "updateSettings": { - "description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information.", + "description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://docs.cloud.google.com/logging/docs/default-settings) for more information.", "flatPath": "v2/{v2Id}/{v2Id1}/settings", "httpMethod": "PATCH", "id": "logging.updateSettings", @@ -9157,7 +9157,7 @@ } } }, - "revision": "20260123", + "revision": "20260130", "rootUrl": "https://logging.googleapis.com/", "schemas": { "AppHub": { @@ -9253,7 +9253,7 @@ "id": "BigQueryOptions", "properties": { "usePartitionedTables": { - "description": "Optional. Whether to use BigQuery's partition tables (https://cloud.google.com/bigquery/docs/partitioned-tables). By default, Cloud Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax (https://cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone.", + "description": "Optional. Whether to use BigQuery's partition tables (https://docs.cloud.google.com/bigquery/docs/partitioned-tables). By default, Cloud Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax (https://docs.cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone.", "type": "boolean" }, "usesTimestampColumnPartitioning": { @@ -9362,11 +9362,11 @@ "type": "object" }, "CmekSettings": { - "description": "Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "id": "CmekSettings", "properties": { "kmsKeyName": { - "description": "Optional. The resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key\"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the needed cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Optional. The resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key\"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the needed cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "type": "string" }, "kmsKeyVersionName": { @@ -9380,7 +9380,7 @@ "type": "string" }, "serviceAccountId": { - "description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "readOnly": true, "type": "string" } @@ -9540,7 +9540,7 @@ "type": "array" }, "filter": { - "description": "Optional. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity>=ERRORTo match all logs, don't add exclusions and use the following line as the value of filter:logName:*Cannot be empty or unset when the value of mode is OVERWRITE.", + "description": "Optional. An advanced logs filter (https://docs.cloud.google.com/logging/docs/view/building-queries#queries-by-expression). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity>=ERRORTo match all logs, don't add exclusions and use the following line as the value of filter:logName:*Cannot be empty or unset when the value of mode is OVERWRITE.", "type": "string" }, "mode": { @@ -9637,6 +9637,140 @@ }, "type": "object" }, + "FieldSource": { + "description": "A source that can be used to represent a field within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses.", + "id": "FieldSource", + "properties": { + "aliasRef": { + "description": "The alias name for a field that has already been aliased within a different ProjectedField type elsewhere in the query model. The alias must be defined in the QueryBuilderConfig's field_sources list, otherwise the model is invalid.", + "type": "string" + }, + "columnType": { + "description": "The type of the selected field. This comes from the schema. Can be one of the BigQuery data types: - STRING - INT64 - FLOAT64 - BOOL - TIMESTAMP - DATE - RECORD - JSON", + "type": "string" + }, + "field": { + "description": "The fully qualified, dot-delimited path to the selected atomic field (the leaf value). This path is used for primary selection and actions like drill-down or projection.The path components should match the exact field names or keys as they appear in the underlying data schema. For JSON fields, this means respecting the original casing (e.g., camelCase or snake_case as present in the JSON).To reference field names containing special characters (e.g., hyphens, spaces), enclose the individual path segment in backticks (`).Examples: * json_payload.labels.message * json_payload.request_id * httpRequest.status * json_payload.\\my-custom-field`.value *jsonPayload.`my key with spaces`.data`", + "type": "string" + }, + "isJson": { + "description": "Whether the field is a JSON field, or has a parent that is a JSON field. This value is used to determine JSON extractions in generated SQL queries. Note that this is_json flag may be true when the column_type is not JSON if the parent is a JSON field. Ex: - A json_payload.message field might have is_json=true, since the 'json_payload' parent is of type JSON, and columnType='STRING' if the 'message' field is of type STRING.", + "type": "boolean" + }, + "parentPath": { + "description": "The dot-delimited path of the parent container that holds the target field.This path defines the structural hierarchy and is essential for correctly generating SQL when field keys contain special characters (e.g., dots or brackets).Example: json_payload.labels (This points to the 'labels' object). This is an empty string if the target field is at the root level.", + "type": "string" + }, + "projectedField": { + "$ref": "ProjectedField", + "description": "A projected field option for when a user wants to use a field with some additional transformations such as casting or extractions." + } + }, + "type": "object" + }, + "FilterExpression": { + "description": "This is a leaf of the FilterPredicate. Ex: { field: json_payload.message.error_code, filter_value: {numeric_value: 400}, comparator: EQUAL_TO} The field will be schema field that is selected using the . annotation to display the drill down value. The value will be the user inputted text that the filter is comparing against.", + "id": "FilterExpression", + "properties": { + "comparator": { + "description": "The comparison type to use for the filter.", + "enum": [ + "COMPARATOR_UNSPECIFIED", + "EQUALS", + "MATCHES_REGEXP", + "GREATER_THAN", + "LESS_THAN", + "GREATER_THAN_EQUALS", + "LESS_THAN_EQUALS", + "IS_NULL", + "IN", + "LIKE" + ], + "enumDescriptions": [ + "Invalid value, do not use.", + "The value is equal to the inputted value.", + "The value is equal to the inputted regex value.", + "The value is greater than the inputted value.", + "The value is less than the inputted value.", + "The value is greater than or equal to the inputted value.", + "The value is less than or equal to the inputted value.", + "Requires the filter_value to be a Value type with null_value set to true.", + "The value is in the inputted array value.", + "The value is like the inputted value." + ], + "type": "string" + }, + "fieldSource": { + "$ref": "FieldSource", + "description": "Can be one of the FieldSource types: field name, alias ref, variable ref, or a literal value." + }, + "fieldSourceValue": { + "$ref": "FieldSource", + "description": "The field. This will be the field that is set as the Right Hand Side of the filter." + }, + "isNegation": { + "description": "Determines if the NOT flag should be added to the comparator.", + "type": "boolean" + }, + "literalValue": { + "description": "The Value will be used to hold user defined constants set as the Right Hand Side of the filter.", + "type": "any" + } + }, + "type": "object" + }, + "FilterPredicate": { + "description": "A filter for a query. This equates to the WHERE clause in SQL.", + "id": "FilterPredicate", + "properties": { + "childPredicates": { + "description": "The children of the filter predicate. This equates to the branches of the filter predicate that could contain further nested leaves.", + "items": { + "$ref": "FilterPredicate" + }, + "type": "array" + }, + "leafPredicate": { + "$ref": "FilterExpression", + "description": "The leaves of the filter predicate. This equates to the last leaves of the filter predicate associated with an operator." + }, + "operatorType": { + "description": "The operator type for the filter. Currently there is no support for multiple levels of nesting, so this will be a single value with no joining of different operator types", + "enum": [ + "OPERATOR_TYPE_UNSPECIFIED", + "AND", + "OR", + "LEAF" + ], + "enumDescriptions": [ + "Invalid value, do not use.", + "AND will be the default operator type.", + "OR operator type.", + "LEAF operator type." + ], + "type": "string" + } + }, + "type": "object" + }, + "FunctionApplication": { + "description": "Defines the aggregation function to apply to this field. This message is used only when operation is set to AGGREGATE.", + "id": "FunctionApplication", + "properties": { + "parameters": { + "description": "Optional. Parameters to be applied to the aggregation. Aggregations that support or require parameters are listed above.", + "items": { + "type": "any" + }, + "type": "array" + }, + "type": { + "description": "Required. Specifies the aggregation function. Use one of the following string identifiers: \"average\": Computes the average (AVG). Applies only to numeric values. \"count\": Counts the number of values (COUNT). \"count-distinct\": Counts the number of distinct values (COUNT DISTINCT). \"count-distinct-approx\": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). \"max\": Finds the maximum value (MAX). Applies only to numeric values. \"min\": Finds the minimum value (MIN). Applies only to numeric values. \"sum\": Computes the sum (SUM). Applies only to numeric values.", + "type": "string" + } + }, + "type": "object" + }, "GetIamPolicyRequest": { "description": "Request message for GetIamPolicy method.", "id": "GetIamPolicyRequest", @@ -9743,7 +9877,7 @@ "type": "string" }, "fieldPath": { - "description": "Required. The LogEntry field path to index.Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation( https://cloud.google.com/logging/docs/analyze/custom-index) for details.For example: jsonPayload.request.status", + "description": "Required. The LogEntry field path to index.Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation( https://docs.cloud.google.com/logging/docs/analyze/custom-index) for details.For example: jsonPayload.request.status", "type": "string" }, "type": { @@ -10323,7 +10457,7 @@ "type": "boolean" }, "name": { - "description": "Output only. The resource name of the bucket.For example:projects/my-project/locations/global/buckets/my-bucketFor a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support)For the location of global it is unspecified where log entries are actually stored.After a bucket has been created, the location cannot be changed.", + "description": "Output only. The resource name of the bucket.For example:projects/my-project/locations/global/buckets/my-bucketFor a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support)For the location of global it is unspecified where log entries are actually stored.After a bucket has been created, the location cannot be changed.", "readOnly": true, "type": "string" }, @@ -10561,7 +10695,7 @@ "type": "boolean" }, "filter": { - "description": "Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries) that matches the log entries to be excluded. By using the sample function (https://cloud.google.com/logging/docs/view/advanced-queries#sample), you can exclude less than 100% of the matching log entries.For example, the following query matches 99% of low-severity log entries from Google Cloud Storage buckets:resource.type=gcs_bucket severity=ERROR", + "description": "Optional. An advanced logs filter (https://docs.cloud.google.com/logging/docs/view/building-queries#queries-by-expression). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity>=ERROR", "type": "string" }, "includeChildren": { @@ -10810,7 +10944,7 @@ "type": "string" }, "writerIdentity": { - "description": "Output only. An IAM identity—a service account or group—under which Cloud Logging writes the exported log entries to the sink's destination. This field is either set by specifying custom_writer_identity or set automatically by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting Access for a Resource (https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.Sinks that have a destination that is a log bucket in the same project as the sink cannot have a writer_identity and no additional permissions are required.", + "description": "Output only. An IAM identity—a service account or group—under which Cloud Logging writes the exported log entries to the sink's destination. This field is either set by specifying custom_writer_identity or set automatically by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Manage access to projects, folders, and organizations (https://docs.cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.Sinks that have a destination that is a log bucket in the same project as the sink cannot have a writer_identity and no additional permissions are required.", "readOnly": true, "type": "string" } @@ -10875,7 +11009,7 @@ "id": "LoggingQuery", "properties": { "filter": { - "description": "Required. An advanced query using the Logging Query Language (https://cloud.google.com/logging/docs/view/logging-query-language). The maximum length of the filter is 20000 characters.", + "description": "Required. An advanced query using the Logging Query Language (https://docs.cloud.google.com/logging/docs/view/logging-query-language). The maximum length of the filter is 20000 characters.", "type": "string" }, "summaryFieldEnd": { @@ -11196,11 +11330,15 @@ "type": "object" }, "OpsAnalyticsQuery": { - "description": "Describes an analytics query that can be run in the Log Analytics page of Google Cloud console.Preview: This is a preview feature and may be subject to change before final release.", + "description": "Describes a query that can be run in Log Analytics.", "id": "OpsAnalyticsQuery", "properties": { + "queryBuilder": { + "$ref": "QueryBuilderConfig", + "description": "Optional. A query builder configuration used in Log Analytics.If both query_builder and sql_query_text fields are set, then the sql_query_text will be used, if its non-empty. At least one of the two fields must be set." + }, "sqlQueryText": { - "description": "Required. A logs analytics SQL query, which generally follows BigQuery format.This is the SQL query that appears in the Log Analytics UI's query editor.", + "description": "Optional. A Log Analytics SQL query in text format.If both sql_query_text and query_builder fields are set, then the sql_query_text will be used, if its non-empty. At least one of the two fields must be set.", "type": "string" } }, @@ -11230,6 +11368,94 @@ }, "type": "object" }, + "ProjectedField": { + "description": "Represents a field selected in the query, analogous to an item in a SQL SELECT clause. It specifies the source field and optionally applies transformations like aggregation, casting, regex extraction, or assigns an alias. Use ProjectedField when you need more than just the raw source field name (for which you might use FieldSource directly in QueryBuilderConfig's field_sources list if no transformations or specific operation type are needed).", + "id": "ProjectedField", + "properties": { + "alias": { + "description": "The alias name for the field. Valid alias examples are: - single word alias: TestAlias - numbers in an alias: Alias123 - multi word alias should be enclosed in quotes: \"Test Alias\" Invalid alias examples are: - alias containing keywords: WHERE, SELECT, FROM, etc. - alias starting with a number: 1stAlias", + "type": "string" + }, + "cast": { + "description": "The cast for the field. This can any SQL cast type. Examples: - STRING - CHAR - DATE - TIMESTAMP - DATETIME - INT - FLOAT", + "type": "string" + }, + "field": { + "description": "The field name. This will be the field that is selected using the dot notation to display the drill down value.", + "type": "string" + }, + "operation": { + "description": "Specifies the role of this field (direct selection, grouping, or aggregation).", + "enum": [ + "FIELD_OPERATION_UNSPECIFIED", + "NO_SETTING", + "GROUP_BY", + "AGGREGATE" + ], + "enumDescriptions": [ + "Invalid value. Operation must be specified.", + "Select the field directly without grouping or aggregation. Corresponds to including the raw field (potentially with cast, regex, or alias) in the SELECT list.", + "Group the query results by the distinct values of this field. Corresponds to including the field (potentially truncated) in the GROUP BY clause.", + "Apply an aggregation function to this field across grouped results. Corresponds to applying a function like COUNT, SUM, AVG in the SELECT list. Requires sql_aggregation_function to be set." + ], + "type": "string" + }, + "regexExtraction": { + "description": "The re2 extraction for the field. This will be used to extract the value from the field using REGEXP_EXTRACT. More information on re2 can be found here: https://github.com/google/re2/wiki/Syntax. Meta characters like +?()| will need to be escaped. Examples: - \".(autoscaler.*)$\" will be converted to REGEXP_EXTRACT(JSON_VALUE(field),\"request(.*(autoscaler.*)$)\")in SQL. - \"\\(test_value\\)$\" will be converted to REGEXP_EXTRACT(JSON_VALUE(field),\"request(\\(test_value\\)$)\") in SQL.", + "type": "string" + }, + "sqlAggregationFunction": { + "$ref": "FunctionApplication", + "description": "The function to apply to the field." + }, + "truncationGranularity": { + "description": "The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively.", + "type": "string" + } + }, + "type": "object" + }, + "QueryBuilderConfig": { + "description": "Defines a structured query configuration that can be used instead of writing raw SQL. This configuration represents the components of a SQL query (FROM, SELECT, WHERE, ORDER BY, LIMIT) and is typically converted into an executable query (e.g., BigQuery SQL) by the backend service to retrieve data for analysis or visualization.", + "id": "QueryBuilderConfig", + "properties": { + "fieldSources": { + "description": "Defines the items to include in the query result, analogous to a SQL SELECT clause.", + "items": { + "$ref": "FieldSource" + }, + "type": "array" + }, + "filter": { + "$ref": "FilterPredicate", + "description": "The filter to use for the query. This equates to the WHERE clause in SQL." + }, + "limit": { + "description": "The limit to use for the query. This equates to the LIMIT clause in SQL. A limit of 0 will be treated as not enabled.", + "format": "int64", + "type": "string" + }, + "orderBys": { + "description": "The sort orders to use for the query. This equates to the ORDER BY clause in SQL.", + "items": { + "$ref": "SortOrderParameter" + }, + "type": "array" + }, + "resourceNames": { + "description": "Required. The view/resource to query. For now only a single view/resource will be sent, but there are plans to allow multiple views in the future. Marking as repeated for that purpose. Example: - \"projects/123/locations/global/buckets/456/views/_Default\" - \"projects/123/locations/global/metricBuckets/456/views/_Default\"", + "items": { + "type": "string" + }, + "type": "array" + }, + "searchTerm": { + "description": "The plain text search to use for the query. There is no support for multiple search terms. This uses the SEARCH functionality in BigQuery. For example, a search_term = 'ERROR' would result in the following SQL:SELECT * FROM resource WHERE SEARCH(resource, 'ERROR') LIMIT 100", + "type": "string" + } + }, + "type": "object" + }, "RecentQuery": { "description": "Describes a recent query executed on the Logs Explorer or Log Analytics page within the last ~ 30 days.", "id": "RecentQuery", @@ -11245,7 +11471,7 @@ "description": "Logging query that can be executed in Logs Explorer or via Logging API." }, "name": { - "description": "Output only. Resource name of the recent query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/recentQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support)The QUERY_ID is a system generated alphanumeric ID.", + "description": "Output only. Resource name of the recent query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/recentQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support)The QUERY_ID is a system generated alphanumeric ID.", "readOnly": true, "type": "string" }, @@ -11437,7 +11663,7 @@ "description": "Logging query that can be executed in Logs Explorer or via Logging API." }, "name": { - "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", + "description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", "readOnly": true, "type": "string" }, @@ -11497,11 +11723,11 @@ "type": "boolean" }, "kmsKeyName": { - "description": "Optional. The resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key\"To enable CMEK, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Optional. The resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key\"To enable CMEK, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name.To disable CMEK for the Log Router, set this field to an empty string.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "type": "string" }, "kmsServiceAccountId": { - "description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that will be used to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", + "description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that will be used to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information.", "readOnly": true, "type": "string" }, @@ -11522,6 +11748,33 @@ }, "type": "object" }, + "SortOrderParameter": { + "description": "A sort order for a query based on a column.", + "id": "SortOrderParameter", + "properties": { + "fieldSource": { + "$ref": "FieldSource", + "description": "The field to sort on. Can be one of the FieldSource types: field name, alias ref, variable ref, or a literal value." + }, + "sortOrderDirection": { + "description": "The sort order to use for the query.", + "enum": [ + "SORT_ORDER_UNSPECIFIED", + "SORT_ORDER_NONE", + "SORT_ORDER_ASCENDING", + "SORT_ORDER_DESCENDING" + ], + "enumDescriptions": [ + "Invalid value, do not use.", + "No sorting will be applied. This is used to determine if the query is in pass thru mode. To correctly chart a query in pass thru mode, NONE will need to be sent", + "The lowest-valued entries will be selected.", + "The highest-valued entries will be selected." + ], + "type": "string" + } + }, + "type": "object" + }, "SourceLocation": { "description": "Specifies a location in a source code file.", "id": "SourceLocation", @@ -11585,7 +11838,7 @@ "type": "object" }, "SummaryField": { - "description": "A field from the LogEntry that is added to the summary line (https://cloud.google.com/logging/docs/view/logs-explorer-interface#add-summary-fields) for a query in the Logs Explorer.", + "description": "A field from the LogEntry that is added to the summary line (https://docs.cloud.google.com/logging/docs/view/logs-explorer-interface#preferences) for a query in the Logs Explorer.", "id": "SummaryField", "properties": { "field": { diff --git a/src/apis/logging/v2.ts b/src/apis/logging/v2.ts index 5516acbe0f..1624c04b93 100644 --- a/src/apis/logging/v2.ts +++ b/src/apis/logging/v2.ts @@ -227,7 +227,7 @@ export namespace logging_v2 { */ export interface Schema$BigQueryOptions { /** - * Optional. Whether to use BigQuery's partition tables (https://cloud.google.com/bigquery/docs/partitioned-tables). By default, Cloud Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax (https://cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone. + * Optional. Whether to use BigQuery's partition tables (https://docs.cloud.google.com/bigquery/docs/partitioned-tables). By default, Cloud Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax (https://docs.cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone. */ usePartitionedTables?: boolean | null; /** @@ -299,11 +299,11 @@ export namespace logging_v2 { */ export interface Schema$CancelOperationRequest {} /** - * Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. */ export interface Schema$CmekSettings { /** - * Optional. The resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the needed cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Optional. The resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the needed cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. */ kmsKeyName?: string | null; /** @@ -315,7 +315,7 @@ export namespace logging_v2 { */ name?: string | null; /** - * Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. */ serviceAccountId?: string | null; } @@ -433,7 +433,7 @@ export namespace logging_v2 { */ exclusions?: Schema$LogExclusion[]; /** - * Optional. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity\>=ERRORTo match all logs, don't add exclusions and use the following line as the value of filter:logName:*Cannot be empty or unset when the value of mode is OVERWRITE. + * Optional. An advanced logs filter (https://docs.cloud.google.com/logging/docs/view/building-queries#queries-by-expression). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity\>=ERRORTo match all logs, don't add exclusions and use the following line as the value of filter:logName:*Cannot be empty or unset when the value of mode is OVERWRITE. */ filter?: string | null; /** @@ -501,6 +501,90 @@ export namespace logging_v2 { */ title?: string | null; } + /** + * A source that can be used to represent a field within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. + */ + export interface Schema$FieldSource { + /** + * The alias name for a field that has already been aliased within a different ProjectedField type elsewhere in the query model. The alias must be defined in the QueryBuilderConfig's field_sources list, otherwise the model is invalid. + */ + aliasRef?: string | null; + /** + * The type of the selected field. This comes from the schema. Can be one of the BigQuery data types: - STRING - INT64 - FLOAT64 - BOOL - TIMESTAMP - DATE - RECORD - JSON + */ + columnType?: string | null; + /** + * The fully qualified, dot-delimited path to the selected atomic field (the leaf value). This path is used for primary selection and actions like drill-down or projection.The path components should match the exact field names or keys as they appear in the underlying data schema. For JSON fields, this means respecting the original casing (e.g., camelCase or snake_case as present in the JSON).To reference field names containing special characters (e.g., hyphens, spaces), enclose the individual path segment in backticks (`).Examples: * json_payload.labels.message * json_payload.request_id * httpRequest.status * json_payload.\my-custom-field`.value *jsonPayload.`my key with spaces`.data` + */ + field?: string | null; + /** + * Whether the field is a JSON field, or has a parent that is a JSON field. This value is used to determine JSON extractions in generated SQL queries. Note that this is_json flag may be true when the column_type is not JSON if the parent is a JSON field. Ex: - A json_payload.message field might have is_json=true, since the 'json_payload' parent is of type JSON, and columnType='STRING' if the 'message' field is of type STRING. + */ + isJson?: boolean | null; + /** + * The dot-delimited path of the parent container that holds the target field.This path defines the structural hierarchy and is essential for correctly generating SQL when field keys contain special characters (e.g., dots or brackets).Example: json_payload.labels (This points to the 'labels' object). This is an empty string if the target field is at the root level. + */ + parentPath?: string | null; + /** + * A projected field option for when a user wants to use a field with some additional transformations such as casting or extractions. + */ + projectedField?: Schema$ProjectedField; + } + /** + * This is a leaf of the FilterPredicate. Ex: { field: json_payload.message.error_code, filter_value: {numeric_value: 400\}, comparator: EQUAL_TO\} The field will be schema field that is selected using the . annotation to display the drill down value. The value will be the user inputted text that the filter is comparing against. + */ + export interface Schema$FilterExpression { + /** + * The comparison type to use for the filter. + */ + comparator?: string | null; + /** + * Can be one of the FieldSource types: field name, alias ref, variable ref, or a literal value. + */ + fieldSource?: Schema$FieldSource; + /** + * The field. This will be the field that is set as the Right Hand Side of the filter. + */ + fieldSourceValue?: Schema$FieldSource; + /** + * Determines if the NOT flag should be added to the comparator. + */ + isNegation?: boolean | null; + /** + * The Value will be used to hold user defined constants set as the Right Hand Side of the filter. + */ + literalValue?: any | null; + } + /** + * A filter for a query. This equates to the WHERE clause in SQL. + */ + export interface Schema$FilterPredicate { + /** + * The children of the filter predicate. This equates to the branches of the filter predicate that could contain further nested leaves. + */ + childPredicates?: Schema$FilterPredicate[]; + /** + * The leaves of the filter predicate. This equates to the last leaves of the filter predicate associated with an operator. + */ + leafPredicate?: Schema$FilterExpression; + /** + * The operator type for the filter. Currently there is no support for multiple levels of nesting, so this will be a single value with no joining of different operator types + */ + operatorType?: string | null; + } + /** + * Defines the aggregation function to apply to this field. This message is used only when operation is set to AGGREGATE. + */ + export interface Schema$FunctionApplication { + /** + * Optional. Parameters to be applied to the aggregation. Aggregations that support or require parameters are listed above. + */ + parameters?: any[] | null; + /** + * Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. + */ + type?: string | null; + } /** * Request message for GetIamPolicy method. */ @@ -593,7 +677,7 @@ export namespace logging_v2 { */ createTime?: string | null; /** - * Required. The LogEntry field path to index.Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation( https://cloud.google.com/logging/docs/analyze/custom-index) for details.For example: jsonPayload.request.status + * Required. The LogEntry field path to index.Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation( https://docs.cloud.google.com/logging/docs/analyze/custom-index) for details.For example: jsonPayload.request.status */ fieldPath?: string | null; /** @@ -975,7 +1059,7 @@ export namespace logging_v2 { */ locked?: boolean | null; /** - * Output only. The resource name of the bucket.For example:projects/my-project/locations/global/buckets/my-bucketFor a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support)For the location of global it is unspecified where log entries are actually stored.After a bucket has been created, the location cannot be changed. + * Output only. The resource name of the bucket.For example:projects/my-project/locations/global/buckets/my-bucketFor a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support)For the location of global it is unspecified where log entries are actually stored.After a bucket has been created, the location cannot be changed. */ name?: string | null; /** @@ -1148,7 +1232,7 @@ export namespace logging_v2 { */ disabled?: boolean | null; /** - * Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries) that matches the log entries to be excluded. By using the sample function (https://cloud.google.com/logging/docs/view/advanced-queries#sample), you can exclude less than 100% of the matching log entries.For example, the following query matches 99% of low-severity log entries from Google Cloud Storage buckets:resource.type=gcs_bucket severity=ERROR + * Optional. An advanced logs filter (https://docs.cloud.google.com/logging/docs/view/building-queries#queries-by-expression). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity\>=ERROR */ filter?: string | null; /** @@ -1341,7 +1425,7 @@ export namespace logging_v2 { */ updateTime?: string | null; /** - * Output only. An IAM identity—a service account or group—under which Cloud Logging writes the exported log entries to the sink's destination. This field is either set by specifying custom_writer_identity or set automatically by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting Access for a Resource (https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.Sinks that have a destination that is a log bucket in the same project as the sink cannot have a writer_identity and no additional permissions are required. + * Output only. An IAM identity—a service account or group—under which Cloud Logging writes the exported log entries to the sink's destination. This field is either set by specifying custom_writer_identity or set automatically by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Manage access to projects, folders, and organizations (https://docs.cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.Sinks that have a destination that is a log bucket in the same project as the sink cannot have a writer_identity and no additional permissions are required. */ writerIdentity?: string | null; } @@ -1538,11 +1622,15 @@ export namespace logging_v2 { response?: {[key: string]: any} | null; } /** - * Describes an analytics query that can be run in the Log Analytics page of Google Cloud console.Preview: This is a preview feature and may be subject to change before final release. + * Describes a query that can be run in Log Analytics. */ export interface Schema$OpsAnalyticsQuery { /** - * Required. A logs analytics SQL query, which generally follows BigQuery format.This is the SQL query that appears in the Log Analytics UI's query editor. + * Optional. A query builder configuration used in Log Analytics.If both query_builder and sql_query_text fields are set, then the sql_query_text will be used, if its non-empty. At least one of the two fields must be set. + */ + queryBuilder?: Schema$QueryBuilderConfig; + /** + * Optional. A Log Analytics SQL query in text format.If both sql_query_text and query_builder fields are set, then the sql_query_text will be used, if its non-empty. At least one of the two fields must be set. */ sqlQueryText?: string | null; } @@ -1563,6 +1651,68 @@ export namespace logging_v2 { */ version?: number | null; } + /** + * Represents a field selected in the query, analogous to an item in a SQL SELECT clause. It specifies the source field and optionally applies transformations like aggregation, casting, regex extraction, or assigns an alias. Use ProjectedField when you need more than just the raw source field name (for which you might use FieldSource directly in QueryBuilderConfig's field_sources list if no transformations or specific operation type are needed). + */ + export interface Schema$ProjectedField { + /** + * The alias name for the field. Valid alias examples are: - single word alias: TestAlias - numbers in an alias: Alias123 - multi word alias should be enclosed in quotes: "Test Alias" Invalid alias examples are: - alias containing keywords: WHERE, SELECT, FROM, etc. - alias starting with a number: 1stAlias + */ + alias?: string | null; + /** + * The cast for the field. This can any SQL cast type. Examples: - STRING - CHAR - DATE - TIMESTAMP - DATETIME - INT - FLOAT + */ + cast?: string | null; + /** + * The field name. This will be the field that is selected using the dot notation to display the drill down value. + */ + field?: string | null; + /** + * Specifies the role of this field (direct selection, grouping, or aggregation). + */ + operation?: string | null; + /** + * The re2 extraction for the field. This will be used to extract the value from the field using REGEXP_EXTRACT. More information on re2 can be found here: https://github.com/google/re2/wiki/Syntax. Meta characters like +?()| will need to be escaped. Examples: - ".(autoscaler.*)$" will be converted to REGEXP_EXTRACT(JSON_VALUE(field),"request(.*(autoscaler.*)$)")in SQL. - "\(test_value\)$" will be converted to REGEXP_EXTRACT(JSON_VALUE(field),"request(\(test_value\)$)") in SQL. + */ + regexExtraction?: string | null; + /** + * The function to apply to the field. + */ + sqlAggregationFunction?: Schema$FunctionApplication; + /** + * The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + */ + truncationGranularity?: string | null; + } + /** + * Defines a structured query configuration that can be used instead of writing raw SQL. This configuration represents the components of a SQL query (FROM, SELECT, WHERE, ORDER BY, LIMIT) and is typically converted into an executable query (e.g., BigQuery SQL) by the backend service to retrieve data for analysis or visualization. + */ + export interface Schema$QueryBuilderConfig { + /** + * Defines the items to include in the query result, analogous to a SQL SELECT clause. + */ + fieldSources?: Schema$FieldSource[]; + /** + * The filter to use for the query. This equates to the WHERE clause in SQL. + */ + filter?: Schema$FilterPredicate; + /** + * The limit to use for the query. This equates to the LIMIT clause in SQL. A limit of 0 will be treated as not enabled. + */ + limit?: string | null; + /** + * The sort orders to use for the query. This equates to the ORDER BY clause in SQL. + */ + orderBys?: Schema$SortOrderParameter[]; + /** + * Required. The view/resource to query. For now only a single view/resource will be sent, but there are plans to allow multiple views in the future. Marking as repeated for that purpose. Example: - "projects/123/locations/global/buckets/456/views/_Default" - "projects/123/locations/global/metricBuckets/456/views/_Default" + */ + resourceNames?: string[] | null; + /** + * The plain text search to use for the query. There is no support for multiple search terms. This uses the SEARCH functionality in BigQuery. For example, a search_term = 'ERROR' would result in the following SQL:SELECT * FROM resource WHERE SEARCH(resource, 'ERROR') LIMIT 100 + */ + searchTerm?: string | null; + } /** * Describes a recent query executed on the Logs Explorer or Log Analytics page within the last ~ 30 days. */ @@ -1576,7 +1726,7 @@ export namespace logging_v2 { */ loggingQuery?: Schema$LoggingQuery; /** - * Output only. Resource name of the recent query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/recentQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support)The QUERY_ID is a system generated alphanumeric ID. + * Output only. Resource name of the recent query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/recentQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support)The QUERY_ID is a system generated alphanumeric ID. */ name?: string | null; /** @@ -1746,7 +1896,7 @@ export namespace logging_v2 { */ loggingQuery?: Schema$LoggingQuery; /** - * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. */ name?: string | null; /** @@ -1788,11 +1938,11 @@ export namespace logging_v2 { */ disableDefaultSink?: boolean | null; /** - * Optional. The resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"To enable CMEK, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Optional. The resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"To enable CMEK, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name.To disable CMEK for the Log Router, set this field to an empty string.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. */ kmsKeyName?: string | null; /** - * Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that will be used to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that will be used to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. */ kmsServiceAccountId?: string | null; /** @@ -1808,6 +1958,19 @@ export namespace logging_v2 { */ storageLocation?: string | null; } + /** + * A sort order for a query based on a column. + */ + export interface Schema$SortOrderParameter { + /** + * The field to sort on. Can be one of the FieldSource types: field name, alias ref, variable ref, or a literal value. + */ + fieldSource?: Schema$FieldSource; + /** + * The sort order to use for the query. + */ + sortOrderDirection?: string | null; + } /** * Specifies a location in a source code file. */ @@ -1856,7 +2019,7 @@ export namespace logging_v2 { message?: string | null; } /** - * A field from the LogEntry that is added to the summary line (https://cloud.google.com/logging/docs/view/logs-explorer-interface#add-summary-fields) for a query in the Logs Explorer. + * A field from the LogEntry that is added to the summary line (https://docs.cloud.google.com/logging/docs/view/logs-explorer-interface#preferences) for a query in the Logs Explorer. */ export interface Schema$SummaryField { /** @@ -1995,7 +2158,7 @@ export namespace logging_v2 { } /** - * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -2140,7 +2303,7 @@ export namespace logging_v2 { } /** - * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. * @example * ```js * // Before running the sample: @@ -3270,7 +3433,7 @@ export namespace logging_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -7748,7 +7911,7 @@ export namespace logging_v2 { * * // Do the magic * const res = await logging.billingAccounts.locations.savedQueries.patch({ - * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. * name: 'billingAccounts/my-billingAccount/locations/my-location/savedQueries/my-savedQuerie', * // Required. A non-empty list of fields to change in the existing saved query. Fields are relative to the saved_query and new values for the fields are taken from the corresponding fields in the SavedQuery included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.To update all mutable fields, specify an update_mask of *.For example, to change the description and query filter text of a saved query, specify an update_mask of "description, query.filter". * updateMask: 'placeholder-value', @@ -7924,7 +8087,7 @@ export namespace logging_v2 { } export interface Params$Resource$Billingaccounts$Locations$Savedqueries$Patch extends StandardParameters { /** - * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. */ name?: string; /** @@ -8295,7 +8458,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" For examples:"projects/my-project" "organizations/123456789" * parent: 'billingAccounts/my-billingAccount', - * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. * uniqueWriterIdentity: 'placeholder-value', * * // Request body metadata @@ -8909,7 +9072,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'billingAccounts/my-billingAccount/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -9086,7 +9249,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'billingAccounts/my-billingAccount/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -9236,7 +9399,7 @@ export namespace logging_v2 { */ parent?: string; /** - * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. */ uniqueWriterIdentity?: boolean; @@ -9285,7 +9448,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -9308,7 +9471,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -10762,7 +10925,7 @@ export namespace logging_v2 { } /** - * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -10907,7 +11070,7 @@ export namespace logging_v2 { } /** - * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. * @example * ```js * // Before running the sample: @@ -11055,7 +11218,7 @@ export namespace logging_v2 { } /** - * Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information. + * Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://docs.cloud.google.com/logging/docs/default-settings) for more information. * @example * ```js * // Before running the sample: @@ -12212,7 +12375,7 @@ export namespace logging_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -17963,7 +18126,7 @@ export namespace logging_v2 { * * // Do the magic * const res = await logging.folders.locations.savedQueries.patch({ - * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. * name: 'folders/my-folder/locations/my-location/savedQueries/my-savedQuerie', * // Required. A non-empty list of fields to change in the existing saved query. Fields are relative to the saved_query and new values for the fields are taken from the corresponding fields in the SavedQuery included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.To update all mutable fields, specify an update_mask of *.For example, to change the description and query filter text of a saved query, specify an update_mask of "description, query.filter". * updateMask: 'placeholder-value', @@ -18138,7 +18301,7 @@ export namespace logging_v2 { } export interface Params$Resource$Folders$Locations$Savedqueries$Patch extends StandardParameters { /** - * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. */ name?: string; /** @@ -18509,7 +18672,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" For examples:"projects/my-project" "organizations/123456789" * parent: 'folders/my-folder', - * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. * uniqueWriterIdentity: 'placeholder-value', * * // Request body metadata @@ -19123,7 +19286,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'folders/my-folder/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -19300,7 +19463,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'folders/my-folder/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -19450,7 +19613,7 @@ export namespace logging_v2 { */ parent?: string; /** - * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. */ uniqueWriterIdentity?: boolean; @@ -19499,7 +19662,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -19522,7 +19685,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -19689,7 +19852,7 @@ export namespace logging_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -24137,7 +24300,7 @@ export namespace logging_v2 { } /** - * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -24282,7 +24445,7 @@ export namespace logging_v2 { } /** - * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. * @example * ```js * // Before running the sample: @@ -24430,7 +24593,7 @@ export namespace logging_v2 { } /** - * Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -24588,7 +24751,7 @@ export namespace logging_v2 { } /** - * Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information. + * Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://docs.cloud.google.com/logging/docs/default-settings) for more information. * @example * ```js * // Before running the sample: @@ -25764,7 +25927,7 @@ export namespace logging_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -31540,7 +31703,7 @@ export namespace logging_v2 { * * // Do the magic * const res = await logging.organizations.locations.savedQueries.patch({ - * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. * name: 'organizations/my-organization/locations/my-location/savedQueries/my-savedQuerie', * // Required. A non-empty list of fields to change in the existing saved query. Fields are relative to the saved_query and new values for the fields are taken from the corresponding fields in the SavedQuery included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.To update all mutable fields, specify an update_mask of *.For example, to change the description and query filter text of a saved query, specify an update_mask of "description, query.filter". * updateMask: 'placeholder-value', @@ -31716,7 +31879,7 @@ export namespace logging_v2 { } export interface Params$Resource$Organizations$Locations$Savedqueries$Patch extends StandardParameters { /** - * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. */ name?: string; /** @@ -32087,7 +32250,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" For examples:"projects/my-project" "organizations/123456789" * parent: 'organizations/my-organization', - * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. * uniqueWriterIdentity: 'placeholder-value', * * // Request body metadata @@ -32701,7 +32864,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'organizations/my-organization/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -32878,7 +33041,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'organizations/my-organization/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -33028,7 +33191,7 @@ export namespace logging_v2 { */ parent?: string; /** - * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. */ uniqueWriterIdentity?: boolean; @@ -33077,7 +33240,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -33100,7 +33263,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -33131,7 +33294,7 @@ export namespace logging_v2 { } /** - * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -33276,7 +33439,7 @@ export namespace logging_v2 { } /** - * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. * @example * ```js * // Before running the sample: @@ -34406,7 +34569,7 @@ export namespace logging_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: List all public locations: Use the path GET /v1/locations. List project-visible locations: Use the path GET /v1/projects/{project_id\}/locations. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -40159,7 +40322,7 @@ export namespace logging_v2 { * * // Do the magic * const res = await logging.projects.locations.savedQueries.patch({ - * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * // Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. * name: 'projects/my-project/locations/my-location/savedQueries/my-savedQuerie', * // Required. A non-empty list of fields to change in the existing saved query. Fields are relative to the saved_query and new values for the fields are taken from the corresponding fields in the SavedQuery included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.To update all mutable fields, specify an update_mask of *.For example, to change the description and query filter text of a saved query, specify an update_mask of "description, query.filter". * updateMask: 'placeholder-value', @@ -40334,7 +40497,7 @@ export namespace logging_v2 { } export interface Params$Resource$Projects$Locations$Savedqueries$Patch extends StandardParameters { /** - * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. + * Output only. Resource name of the saved query.In the format: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]" For a list of supported locations, see Supported Regions (https://docs.cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID. */ name?: string; /** @@ -41540,7 +41703,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" For examples:"projects/my-project" "organizations/123456789" * parent: 'projects/my-project', - * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. * uniqueWriterIdentity: 'placeholder-value', * * // Request body metadata @@ -42154,7 +42317,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'projects/my-project/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -42331,7 +42494,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: 'projects/my-project/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -42481,7 +42644,7 @@ export namespace logging_v2 { */ parent?: string; /** - * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. */ uniqueWriterIdentity?: boolean; @@ -42530,7 +42693,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -42553,7 +42716,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -42611,7 +42774,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" For examples:"projects/my-project" "organizations/123456789" * parent: '[^/]+/[^/]+', - * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * // Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. * uniqueWriterIdentity: 'placeholder-value', * * // Request body metadata @@ -43221,7 +43384,7 @@ export namespace logging_v2 { * customWriterIdentity: 'placeholder-value', * // Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" For example:"projects/my-project/sinks/my-sink" * sinkName: '[^/]+/[^/]+/sinks/my-sink', - * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * // Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. * uniqueWriterIdentity: 'placeholder-value', * // Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter * updateMask: 'placeholder-value', @@ -43370,7 +43533,7 @@ export namespace logging_v2 { */ parent?: string; /** - * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. + * Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink. */ uniqueWriterIdentity?: boolean; @@ -43419,7 +43582,7 @@ export namespace logging_v2 { */ sinkName?: string; /** - * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. + * Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://docs.cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false. */ uniqueWriterIdentity?: boolean; /** @@ -43440,7 +43603,7 @@ export namespace logging_v2 { } /** - * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -43585,7 +43748,7 @@ export namespace logging_v2 { } /** - * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + * Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://docs.cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. * @example * ```js * // Before running the sample: @@ -43732,7 +43895,7 @@ export namespace logging_v2 { } /** - * Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + * Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure CMEK for Cloud Logging (https://docs.cloud.google.com/logging/docs/routing/managed-encryption) for more information. * @example * ```js * // Before running the sample: @@ -43890,7 +44053,7 @@ export namespace logging_v2 { } /** - * Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information. + * Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://docs.cloud.google.com/logging/docs/default-settings) for more information. * @example * ```js * // Before running the sample: From 93b69063ea4610f920bbce0827c409e997d30284 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 24/42] fix(memcache): update the API #### memcache:v1beta2 The following keys were changed: - resources.projects.resources.locations.methods.list.description #### memcache:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/memcache-v1.json | 4 ++-- discovery/memcache-v1beta2.json | 4 ++-- src/apis/memcache/v1.ts | 2 +- src/apis/memcache/v1beta2.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/discovery/memcache-v1.json b/discovery/memcache-v1.json index 3468fc35a5..b8b346fd62 100644 --- a/discovery/memcache-v1.json +++ b/discovery/memcache-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "memcache.projects.locations.list", @@ -648,7 +648,7 @@ } } }, - "revision": "20260115", + "revision": "20260129", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { diff --git a/discovery/memcache-v1beta2.json b/discovery/memcache-v1beta2.json index 1b774aa14a..81a8afa70c 100644 --- a/discovery/memcache-v1beta2.json +++ b/discovery/memcache-v1beta2.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "memcache.projects.locations.list", @@ -623,7 +623,7 @@ } } }, - "revision": "20260115", + "revision": "20260129", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { diff --git a/src/apis/memcache/v1.ts b/src/apis/memcache/v1.ts index 96348a81d8..b3e23f22c1 100644 --- a/src/apis/memcache/v1.ts +++ b/src/apis/memcache/v1.ts @@ -1184,7 +1184,7 @@ export namespace memcache_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/memcache/v1beta2.ts b/src/apis/memcache/v1beta2.ts index 03cb8077ce..454bf65887 100644 --- a/src/apis/memcache/v1beta2.ts +++ b/src/apis/memcache/v1beta2.ts @@ -1205,7 +1205,7 @@ export namespace memcache_v1beta2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From c4e35a368a69d999c67c95b3558ff4faf1ba8057 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 25/42] feat(merchantapi): update the API #### merchantapi:accounts_v1 The following keys were changed: - schemas.Region.description #### merchantapi:accounts_v1beta The following keys were changed: - schemas.Region.description #### merchantapi:promotions_v1 The following keys were added: - schemas.Attributes.properties.customRedemptionRestriction.description - schemas.Attributes.properties.customRedemptionRestriction.type - schemas.Attributes.properties.eventApplicability.description - schemas.Attributes.properties.eventApplicability.enum - schemas.Attributes.properties.eventApplicability.enumDescriptions - schemas.Attributes.properties.eventApplicability.type - schemas.Attributes.properties.googleProductCategories.description - schemas.Attributes.properties.googleProductCategories.items.type - schemas.Attributes.properties.googleProductCategories.type - schemas.Attributes.properties.maxDiscountAmount.$ref - schemas.Attributes.properties.maxDiscountAmount.description - schemas.Attributes.properties.redemptionRestriction.description - schemas.Attributes.properties.redemptionRestriction.enum - schemas.Attributes.properties.redemptionRestriction.enumDescriptions - schemas.Attributes.properties.redemptionRestriction.type The following keys were changed: - schemas.Attributes.properties.productApplicability.description #### merchantapi:promotions_v1beta The following keys were added: - schemas.Attributes.properties.customRedemptionRestriction.description - schemas.Attributes.properties.customRedemptionRestriction.type - schemas.Attributes.properties.eventApplicability.description - schemas.Attributes.properties.eventApplicability.enum - schemas.Attributes.properties.eventApplicability.enumDescriptions - schemas.Attributes.properties.eventApplicability.type - schemas.Attributes.properties.googleProductCategories.description - schemas.Attributes.properties.googleProductCategories.items.type - schemas.Attributes.properties.googleProductCategories.type - schemas.Attributes.properties.maxDiscountAmount.$ref - schemas.Attributes.properties.maxDiscountAmount.description - schemas.Attributes.properties.redemptionRestriction.description - schemas.Attributes.properties.redemptionRestriction.enum - schemas.Attributes.properties.redemptionRestriction.enumDescriptions - schemas.Attributes.properties.redemptionRestriction.type The following keys were changed: - schemas.Attributes.properties.productApplicability.description --- discovery/merchantapi-accounts_v1.json | 4 +- discovery/merchantapi-accounts_v1beta.json | 4 +- discovery/merchantapi-promotions_v1.json | 53 +++++++++++++++++++- discovery/merchantapi-promotions_v1beta.json | 53 +++++++++++++++++++- src/apis/merchantapi/accounts_v1.ts | 2 +- src/apis/merchantapi/accounts_v1beta.ts | 2 +- src/apis/merchantapi/promotions_v1.ts | 22 +++++++- src/apis/merchantapi/promotions_v1beta.ts | 22 +++++++- 8 files changed, 150 insertions(+), 12 deletions(-) diff --git a/discovery/merchantapi-accounts_v1.json b/discovery/merchantapi-accounts_v1.json index 7a17bc155d..902934da05 100644 --- a/discovery/merchantapi-accounts_v1.json +++ b/discovery/merchantapi-accounts_v1.json @@ -2410,7 +2410,7 @@ } } }, - "revision": "20251120", + "revision": "20260203", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { @@ -5009,7 +5009,7 @@ "type": "object" }, "Region": { - "description": "Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information.", + "description": "Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes, radius areas or, in some countries, using predefined geotargets. A region must be defined by specifying exactly one of `postal_code_area`, `geotarget_area`, or `radius_area`. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information.", "id": "Region", "properties": { "displayName": { diff --git a/discovery/merchantapi-accounts_v1beta.json b/discovery/merchantapi-accounts_v1beta.json index 61bda37f62..6e07627243 100644 --- a/discovery/merchantapi-accounts_v1beta.json +++ b/discovery/merchantapi-accounts_v1beta.json @@ -2360,7 +2360,7 @@ } } }, - "revision": "20251120", + "revision": "20260203", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { @@ -4886,7 +4886,7 @@ "type": "object" }, "Region": { - "description": "Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information.", + "description": "Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes, radius areas or, in some countries, using predefined geotargets. A region must be defined by specifying exactly one of `postal_code_area`, `geotarget_area`, or `radius_area`. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information.", "id": "Region", "properties": { "displayName": { diff --git a/discovery/merchantapi-promotions_v1.json b/discovery/merchantapi-promotions_v1.json index 98bda8f8e2..36bcfceeb6 100644 --- a/discovery/merchantapi-promotions_v1.json +++ b/discovery/merchantapi-promotions_v1.json @@ -203,7 +203,7 @@ } } }, - "revision": "20250805", + "revision": "20260204", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -258,6 +258,24 @@ ], "type": "string" }, + "customRedemptionRestriction": { + "description": "Optional. The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set.", + "type": "string" + }, + "eventApplicability": { + "description": "Optional. Event applicability for this promotion. When present, this field indicates you are creating a [sales event](https://support.google.com/merchants/answer/15523289?hl=en&sjid=11099988466404504696-NC) and not a product promotion. Exactly one of `product_applicability` or `event_applicability` must be set.", + "enum": [ + "EVENT_APPLICABILITY_UNSPECIFIED", + "SITEWIDE", + "SPECIFIC_CATEGORIES" + ], + "enumDescriptions": [ + "Indicates that the event applicability is unspecified.", + "Indicates that the promotion applies to the entire site.", + "Indicates that the promotion applies to specific categories. When this is set, the GoogleProductCategory field is required." + ], + "type": "string" + }, "freeGiftDescription": { "description": "Optional. [Free gift description](https://support.google.com/merchants/answer/13847245?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", "type": "string" @@ -279,6 +297,13 @@ "format": "int64", "type": "string" }, + "googleProductCategories": { + "description": "Optional. A list of Google product categories for this promotion. Set if `EventApplicability` is `SPECIFIC_CATEGORIES`. Up to 5 product categories can be specified. For more details on eligible values for product categories, checkout the `google_product_category` attribute in the [Promotion data specification](https://support.google.com/merchants/answer/2906014?hl=en).", + "items": { + "type": "string" + }, + "type": "array" + }, "itemGroupIdExclusion": { "description": "Optional. Product filter by [item group ID](https://support.google.com/merchants/answer/13837298?ref_topic=13773355&sjid=17642868584668136159-NC). The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). exclusion for the promotion.", "items": { @@ -320,6 +345,10 @@ "description": "Required. [Long title](https://support.google.com/merchants/answer/13838102?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", "type": "string" }, + "maxDiscountAmount": { + "$ref": "Price", + "description": "Optional. The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type." + }, "minimumPurchaseAmount": { "$ref": "Price", "description": "Optional. [Minimum purchase amount](https://support.google.com/merchants/answer/13837705?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion." @@ -352,7 +381,7 @@ "type": "string" }, "productApplicability": { - "description": "Required. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC).", + "description": "Optional. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). Exactly one of `product_applicability` or `event_applicability` must be set.", "enum": [ "PRODUCT_APPLICABILITY_UNSPECIFIED", "ALL_PRODUCTS", @@ -428,6 +457,26 @@ "description": "Optional. URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no `promotion_url` is included. URL is used to confirm that the promotion is valid and can be redeemed.", "type": "string" }, + "redemptionRestriction": { + "description": "Optional. A restriction customers must meet before they can redeem the promotion.", + "enum": [ + "REDEMPTION_RESTRICTION_UNSPECIFIED", + "SUBSCRIBE", + "FIRST_ORDER", + "SIGNUP_FOR_EMAIL", + "SIGNUP_FOR_TEXT", + "CUSTOM" + ], + "enumDescriptions": [ + "Indicates that the redemption restriction is unspecified.", + "The promotion can only be redeemed by signing up for a subscription.", + "The promotion can only be redeemed on the first order.", + "The promotion can only be redeemed by signing up for email.", + "The promotion can only be redeemed by signing up for text message alerts.", + "The promotion can only be redeemed with a custom redemption restriction. In this case, the `custom_redemption_restriction` field must be set." + ], + "type": "string" + }, "storeApplicability": { "description": "Optional. Whether the promotion applies to [all stores, or only specified stores](https://support.google.com/merchants/answer/13857563?sjid=17642868584668136159-NC). Local Inventory ads promotions throw an error if no store applicability is included. An `INVALID_ARGUMENT` error is thrown if `store_applicability` is set to `ALL_STORES` and `store_codes_inclusion` or `score_code_exclusion` is set to a value.", "enum": [ diff --git a/discovery/merchantapi-promotions_v1beta.json b/discovery/merchantapi-promotions_v1beta.json index 7bbbd73159..e9026e6f20 100644 --- a/discovery/merchantapi-promotions_v1beta.json +++ b/discovery/merchantapi-promotions_v1beta.json @@ -203,7 +203,7 @@ } } }, - "revision": "20250805", + "revision": "20260204", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -258,6 +258,24 @@ ], "type": "string" }, + "customRedemptionRestriction": { + "description": "Optional. The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set.", + "type": "string" + }, + "eventApplicability": { + "description": "Optional. Event applicability for this promotion. When present, this field indicates you are creating a [sales event](https://support.google.com/merchants/answer/15523289?hl=en&sjid=11099988466404504696-NC) and not a product promotion. Exactly one of `product_applicability` or `event_applicability` must be set.", + "enum": [ + "EVENT_APPLICABILITY_UNSPECIFIED", + "SITEWIDE", + "SPECIFIC_CATEGORIES" + ], + "enumDescriptions": [ + "Indicates that the event applicability is unspecified.", + "Indicates that the promotion applies to the entire site.", + "Indicates that the promotion applies to specific categories. When this is set, the GoogleProductCategory field is required." + ], + "type": "string" + }, "freeGiftDescription": { "description": "Optional. [Free gift description](https://support.google.com/merchants/answer/13847245?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", "type": "string" @@ -279,6 +297,13 @@ "format": "int64", "type": "string" }, + "googleProductCategories": { + "description": "Optional. A list of Google product categories for this promotion. Set if `EventApplicability` is `SPECIFIC_CATEGORIES`. Up to 5 product categories can be specified. For more details on eligible values for product categories, checkout the `google_product_category` attribute in the [Promotion data specification](https://support.google.com/merchants/answer/2906014?hl=en).", + "items": { + "type": "string" + }, + "type": "array" + }, "itemGroupIdExclusion": { "description": "Optional. Product filter by [item group ID](https://support.google.com/merchants/answer/13837298?ref_topic=13773355&sjid=17642868584668136159-NC). The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). exclusion for the promotion.", "items": { @@ -320,6 +345,10 @@ "description": "Required. [Long title](https://support.google.com/merchants/answer/13838102?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", "type": "string" }, + "maxDiscountAmount": { + "$ref": "Price", + "description": "Optional. The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type." + }, "minimumPurchaseAmount": { "$ref": "Price", "description": "Optional. [Minimum purchase amount](https://support.google.com/merchants/answer/13837705?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion." @@ -352,7 +381,7 @@ "type": "string" }, "productApplicability": { - "description": "Required. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC).", + "description": "Optional. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). Exactly one of `product_applicability` or `event_applicability` must be set.", "enum": [ "PRODUCT_APPLICABILITY_UNSPECIFIED", "ALL_PRODUCTS", @@ -428,6 +457,26 @@ "description": "Optional. URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no `promotion_url` is included. URL is used to confirm that the promotion is valid and can be redeemed.", "type": "string" }, + "redemptionRestriction": { + "description": "Optional. A restriction customers must meet before they can redeem the promotion.", + "enum": [ + "REDEMPTION_RESTRICTION_UNSPECIFIED", + "SUBSCRIBE", + "FIRST_ORDER", + "SIGNUP_FOR_EMAIL", + "SIGNUP_FOR_TEXT", + "CUSTOM" + ], + "enumDescriptions": [ + "Indicates that the redemption restriction is unspecified.", + "The promotion can only be redeemed by signing up for a subscription.", + "The promotion can only be redeemed on the first order.", + "The promotion can only be redeemed by signing up for email.", + "The promotion can only be redeemed by signing up for text message alerts.", + "The promotion can only be redeemed with a custom redemption restriction. In this case, the `custom_redemption_restriction` field must be set." + ], + "type": "string" + }, "storeApplicability": { "description": "Optional. Whether the promotion applies to [all stores, or only specified stores](https://support.google.com/merchants/answer/13857563?sjid=17642868584668136159-NC). Local Inventory ads promotions throw an error if no store applicability is included. An `INVALID_ARGUMENT` error is thrown if `store_applicability` is set to `ALL_STORES` and `store_codes_inclusion` or `score_code_exclusion` is set to a value.", "enum": [ diff --git a/src/apis/merchantapi/accounts_v1.ts b/src/apis/merchantapi/accounts_v1.ts index e6fe0ea4ed..66312c5bfc 100644 --- a/src/apis/merchantapi/accounts_v1.ts +++ b/src/apis/merchantapi/accounts_v1.ts @@ -1777,7 +1777,7 @@ export namespace merchantapi_accounts_v1 { subtables?: Schema$Table[]; } /** - * Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information. + * Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes, radius areas or, in some countries, using predefined geotargets. A region must be defined by specifying exactly one of `postal_code_area`, `geotarget_area`, or `radius_area`. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information. */ export interface Schema$Region { /** diff --git a/src/apis/merchantapi/accounts_v1beta.ts b/src/apis/merchantapi/accounts_v1beta.ts index 88eb199267..018b69d1bd 100644 --- a/src/apis/merchantapi/accounts_v1beta.ts +++ b/src/apis/merchantapi/accounts_v1beta.ts @@ -1727,7 +1727,7 @@ export namespace merchantapi_accounts_v1beta { subtables?: Schema$Table[]; } /** - * Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes or, in some countries, using predefined geotargets. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information. + * Represents a geographic region that you can use as a target with both the `RegionalInventory` and `ShippingSettings` services. You can define regions as collections of either postal codes, radius areas or, in some countries, using predefined geotargets. A region must be defined by specifying exactly one of `postal_code_area`, `geotarget_area`, or `radius_area`. For more information, see [Set up regions ](https://support.google.com/merchants/answer/7410946#zippy=%2Ccreate-a-new-region) for more information. */ export interface Schema$Region { /** diff --git a/src/apis/merchantapi/promotions_v1.ts b/src/apis/merchantapi/promotions_v1.ts index 730a64c84e..fa610c0ce4 100644 --- a/src/apis/merchantapi/promotions_v1.ts +++ b/src/apis/merchantapi/promotions_v1.ts @@ -140,6 +140,14 @@ export namespace merchantapi_promotions_v1 { * Required. The [coupon value type] (https://support.google.com/merchants/answer/13861986?ref_topic=13773355&sjid=17642868584668136159-NC) attribute to signal the type of promotion that you are running. Depending on type of the selected coupon value [some attributes are required](https://support.google.com/merchants/answer/6393006?ref_topic=7322920). */ couponValueType?: string | null; + /** + * Optional. The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set. + */ + customRedemptionRestriction?: string | null; + /** + * Optional. Event applicability for this promotion. When present, this field indicates you are creating a [sales event](https://support.google.com/merchants/answer/15523289?hl=en&sjid=11099988466404504696-NC) and not a product promotion. Exactly one of `product_applicability` or `event_applicability` must be set. + */ + eventApplicability?: string | null; /** * Optional. [Free gift description](https://support.google.com/merchants/answer/13847245?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. */ @@ -160,6 +168,10 @@ export namespace merchantapi_promotions_v1 { * Optional. The number of items discounted in the promotion. The attribute is set when `couponValueType` is equal to `buy_m_get_n_money_off` or `buy_m_get_n_percent_off`. */ getThisQuantityDiscounted?: string | null; + /** + * Optional. A list of Google product categories for this promotion. Set if `EventApplicability` is `SPECIFIC_CATEGORIES`. Up to 5 product categories can be specified. For more details on eligible values for product categories, checkout the `google_product_category` attribute in the [Promotion data specification](https://support.google.com/merchants/answer/2906014?hl=en). + */ + googleProductCategories?: string[] | null; /** * Optional. Product filter by [item group ID](https://support.google.com/merchants/answer/13837298?ref_topic=13773355&sjid=17642868584668136159-NC). The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). exclusion for the promotion. */ @@ -188,6 +200,10 @@ export namespace merchantapi_promotions_v1 { * Required. [Long title](https://support.google.com/merchants/answer/13838102?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. */ longTitle?: string | null; + /** + * Optional. The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type. + */ + maxDiscountAmount?: Schema$Price; /** * Optional. [Minimum purchase amount](https://support.google.com/merchants/answer/13837705?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. */ @@ -206,7 +222,7 @@ export namespace merchantapi_promotions_v1 { */ percentOff?: string | null; /** - * Required. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). + * Optional. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). Exactly one of `product_applicability` or `event_applicability` must be set. */ productApplicability?: string | null; /** @@ -233,6 +249,10 @@ export namespace merchantapi_promotions_v1 { * Optional. URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no `promotion_url` is included. URL is used to confirm that the promotion is valid and can be redeemed. */ promotionUrl?: string | null; + /** + * Optional. A restriction customers must meet before they can redeem the promotion. + */ + redemptionRestriction?: string | null; /** * Optional. Whether the promotion applies to [all stores, or only specified stores](https://support.google.com/merchants/answer/13857563?sjid=17642868584668136159-NC). Local Inventory ads promotions throw an error if no store applicability is included. An `INVALID_ARGUMENT` error is thrown if `store_applicability` is set to `ALL_STORES` and `store_codes_inclusion` or `score_code_exclusion` is set to a value. */ diff --git a/src/apis/merchantapi/promotions_v1beta.ts b/src/apis/merchantapi/promotions_v1beta.ts index 8bed0c0a2f..3d9d7fa69a 100644 --- a/src/apis/merchantapi/promotions_v1beta.ts +++ b/src/apis/merchantapi/promotions_v1beta.ts @@ -140,6 +140,14 @@ export namespace merchantapi_promotions_v1beta { * Required. The [coupon value type] (https://support.google.com/merchants/answer/13861986?ref_topic=13773355&sjid=17642868584668136159-NC) attribute to signal the type of promotion that you are running. Depending on type of the selected coupon value [some attributes are required](https://support.google.com/merchants/answer/6393006?ref_topic=7322920). */ couponValueType?: string | null; + /** + * Optional. The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set. + */ + customRedemptionRestriction?: string | null; + /** + * Optional. Event applicability for this promotion. When present, this field indicates you are creating a [sales event](https://support.google.com/merchants/answer/15523289?hl=en&sjid=11099988466404504696-NC) and not a product promotion. Exactly one of `product_applicability` or `event_applicability` must be set. + */ + eventApplicability?: string | null; /** * Optional. [Free gift description](https://support.google.com/merchants/answer/13847245?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. */ @@ -160,6 +168,10 @@ export namespace merchantapi_promotions_v1beta { * Optional. The number of items discounted in the promotion. The attribute is set when `couponValueType` is equal to `buy_m_get_n_money_off` or `buy_m_get_n_percent_off`. */ getThisQuantityDiscounted?: string | null; + /** + * Optional. A list of Google product categories for this promotion. Set if `EventApplicability` is `SPECIFIC_CATEGORIES`. Up to 5 product categories can be specified. For more details on eligible values for product categories, checkout the `google_product_category` attribute in the [Promotion data specification](https://support.google.com/merchants/answer/2906014?hl=en). + */ + googleProductCategories?: string[] | null; /** * Optional. Product filter by [item group ID](https://support.google.com/merchants/answer/13837298?ref_topic=13773355&sjid=17642868584668136159-NC). The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). exclusion for the promotion. */ @@ -188,6 +200,10 @@ export namespace merchantapi_promotions_v1beta { * Required. [Long title](https://support.google.com/merchants/answer/13838102?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. */ longTitle?: string | null; + /** + * Optional. The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type. + */ + maxDiscountAmount?: Schema$Price; /** * Optional. [Minimum purchase amount](https://support.google.com/merchants/answer/13837705?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. */ @@ -206,7 +222,7 @@ export namespace merchantapi_promotions_v1beta { */ percentOff?: string | null; /** - * Required. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). + * Optional. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC). Exactly one of `product_applicability` or `event_applicability` must be set. */ productApplicability?: string | null; /** @@ -233,6 +249,10 @@ export namespace merchantapi_promotions_v1beta { * Optional. URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no `promotion_url` is included. URL is used to confirm that the promotion is valid and can be redeemed. */ promotionUrl?: string | null; + /** + * Optional. A restriction customers must meet before they can redeem the promotion. + */ + redemptionRestriction?: string | null; /** * Optional. Whether the promotion applies to [all stores, or only specified stores](https://support.google.com/merchants/answer/13857563?sjid=17642868584668136159-NC). Local Inventory ads promotions throw an error if no store applicability is included. An `INVALID_ARGUMENT` error is thrown if `store_applicability` is set to `ALL_STORES` and `store_codes_inclusion` or `score_code_exclusion` is set to a value. */ From 76601bcb5dcef9b462fec8af7ecd76d3dac2dfa4 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 26/42] fix(monitoring): update the API #### monitoring:v3 The following keys were changed: - schemas.NotificationChannelStrategy.properties.renotifyInterval.description --- discovery/monitoring-v3.json | 4 ++-- src/apis/monitoring/v3.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/discovery/monitoring-v3.json b/discovery/monitoring-v3.json index 8a398fa440..4c68f10350 100644 --- a/discovery/monitoring-v3.json +++ b/discovery/monitoring-v3.json @@ -2799,7 +2799,7 @@ } } }, - "revision": "20251006", + "revision": "20260129", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -5305,7 +5305,7 @@ "type": "array" }, "renotifyInterval": { - "description": "The frequency at which to send reminder notifications for open incidents.", + "description": "The frequency at which to send reminder notifications for open incidents. The value must be between 30 minutes and 24 hours.", "format": "google-duration", "type": "string" } diff --git a/src/apis/monitoring/v3.ts b/src/apis/monitoring/v3.ts index edccc602e7..f27ce66906 100644 --- a/src/apis/monitoring/v3.ts +++ b/src/apis/monitoring/v3.ts @@ -1773,7 +1773,7 @@ export namespace monitoring_v3 { */ notificationChannelNames?: string[] | null; /** - * The frequency at which to send reminder notifications for open incidents. + * The frequency at which to send reminder notifications for open incidents. The value must be between 30 minutes and 24 hours. */ renotifyInterval?: string | null; } From 0082a364083af8f98744d962b7a052e6b83ba4fe Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 27/42] fix(networkconnectivity): update the API #### networkconnectivity:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/networkconnectivity-v1.json | 4 ++-- src/apis/networkconnectivity/v1.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/discovery/networkconnectivity-v1.json b/discovery/networkconnectivity-v1.json index 397e3256ac..215598ee3c 100644 --- a/discovery/networkconnectivity-v1.json +++ b/discovery/networkconnectivity-v1.json @@ -163,7 +163,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "networkconnectivity.projects.locations.list", @@ -3718,7 +3718,7 @@ } } }, - "revision": "20260120", + "revision": "20260129", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AcceptHubSpokeRequest": { diff --git a/src/apis/networkconnectivity/v1.ts b/src/apis/networkconnectivity/v1.ts index 4d06272167..379639bc69 100644 --- a/src/apis/networkconnectivity/v1.ts +++ b/src/apis/networkconnectivity/v1.ts @@ -2770,7 +2770,7 @@ export namespace networkconnectivity_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From daf8df078e1006a2fb532d15c25ca02cd51ca456 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 28/42] fix(networksecurity): update the API #### networksecurity:v1 The following keys were changed: - resources.organizations.resources.locations.resources.firewallEndpoints.methods.create.description - resources.organizations.resources.locations.resources.firewallEndpoints.methods.delete.description - resources.organizations.resources.locations.resources.firewallEndpoints.methods.get.description - resources.organizations.resources.locations.resources.firewallEndpoints.methods.list.description - resources.organizations.resources.locations.resources.firewallEndpoints.methods.patch.description - resources.projects.resources.locations.resources.firewallEndpoints.methods.delete.description - resources.projects.resources.locations.resources.firewallEndpoints.methods.get.description - resources.projects.resources.locations.resources.firewallEndpoints.methods.patch.description --- discovery/networksecurity-v1.json | 18 +++++++++--------- src/apis/networksecurity/v1.ts | 16 ++++++++-------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/discovery/networksecurity-v1.json b/discovery/networksecurity-v1.json index 3cba2e552f..bdfa3319d7 100644 --- a/discovery/networksecurity-v1.json +++ b/discovery/networksecurity-v1.json @@ -409,7 +409,7 @@ "firewallEndpoints": { "methods": { "create": { - "description": "Creates a new FirewallEndpoint in a given project and location.", + "description": "Creates a new FirewallEndpoint in a given organization and location.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints", "httpMethod": "POST", "id": "networksecurity.organizations.locations.firewallEndpoints.create", @@ -447,7 +447,7 @@ ] }, "delete": { - "description": "Deletes a single Endpoint.", + "description": "Deletes a single org Endpoint.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "DELETE", "id": "networksecurity.organizations.locations.firewallEndpoints.delete", @@ -477,7 +477,7 @@ ] }, "get": { - "description": "Gets details of a single Endpoint.", + "description": "Gets details of a single org Endpoint.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "GET", "id": "networksecurity.organizations.locations.firewallEndpoints.get", @@ -502,7 +502,7 @@ ] }, "list": { - "description": "Lists FirewallEndpoints in a given project and location.", + "description": "Lists FirewallEndpoints in a given organization and location.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints", "httpMethod": "GET", "id": "networksecurity.organizations.locations.firewallEndpoints.list", @@ -548,7 +548,7 @@ ] }, "patch": { - "description": "Update a single Endpoint.", + "description": "Update a single org Endpoint.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "PATCH", "id": "networksecurity.organizations.locations.firewallEndpoints.patch", @@ -2805,7 +2805,7 @@ ] }, "delete": { - "description": "Deletes a single Endpoint.", + "description": "Deletes a single project Endpoint.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "DELETE", "id": "networksecurity.projects.locations.firewallEndpoints.delete", @@ -2835,7 +2835,7 @@ ] }, "get": { - "description": "Gets details of a single Endpoint.", + "description": "Gets details of a single project Endpoint.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "GET", "id": "networksecurity.projects.locations.firewallEndpoints.get", @@ -2906,7 +2906,7 @@ ] }, "patch": { - "description": "Update a single Endpoint.", + "description": "Update a single project Endpoint.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}", "httpMethod": "PATCH", "id": "networksecurity.projects.locations.firewallEndpoints.patch", @@ -5419,7 +5419,7 @@ } } }, - "revision": "20260125", + "revision": "20260131", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { diff --git a/src/apis/networksecurity/v1.ts b/src/apis/networksecurity/v1.ts index 9738d75136..af533dd872 100644 --- a/src/apis/networksecurity/v1.ts +++ b/src/apis/networksecurity/v1.ts @@ -3906,7 +3906,7 @@ export namespace networksecurity_v1 { } /** - * Creates a new FirewallEndpoint in a given project and location. + * Creates a new FirewallEndpoint in a given organization and location. * @example * ```js * // Before running the sample: @@ -4074,7 +4074,7 @@ export namespace networksecurity_v1 { } /** - * Deletes a single Endpoint. + * Deletes a single org Endpoint. * @example * ```js * // Before running the sample: @@ -4217,7 +4217,7 @@ export namespace networksecurity_v1 { } /** - * Gets details of a single Endpoint. + * Gets details of a single org Endpoint. * @example * ```js * // Before running the sample: @@ -4366,7 +4366,7 @@ export namespace networksecurity_v1 { } /** - * Lists FirewallEndpoints in a given project and location. + * Lists FirewallEndpoints in a given organization and location. * @example * ```js * // Before running the sample: @@ -4522,7 +4522,7 @@ export namespace networksecurity_v1 { } /** - * Update a single Endpoint. + * Update a single org Endpoint. * @example * ```js * // Before running the sample: @@ -16113,7 +16113,7 @@ export namespace networksecurity_v1 { } /** - * Deletes a single Endpoint. + * Deletes a single project Endpoint. * @example * ```js * // Before running the sample: @@ -16257,7 +16257,7 @@ export namespace networksecurity_v1 { } /** - * Gets details of a single Endpoint. + * Gets details of a single project Endpoint. * @example * ```js * // Before running the sample: @@ -16559,7 +16559,7 @@ export namespace networksecurity_v1 { } /** - * Update a single Endpoint. + * Update a single project Endpoint. * @example * ```js * // Before running the sample: From 35653d4e03a67b3250c9733d0197e09411c7fc37 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 29/42] fix(notebooks): update the API #### notebooks:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description #### notebooks:v2 The following keys were changed: - resources.projects.resources.locations.methods.list.description - resources.projects.resources.locations.resources.instances.methods.list.parameters.parent.description - schemas.ListInstancesResponse.properties.unreachable.description --- discovery/notebooks-v1.json | 4 ++-- discovery/notebooks-v2.json | 8 ++++---- src/apis/notebooks/v1.ts | 2 +- src/apis/notebooks/v2.ts | 8 ++++---- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/discovery/notebooks-v1.json b/discovery/notebooks-v1.json index 10523f55e4..d13965249e 100644 --- a/discovery/notebooks-v1.json +++ b/discovery/notebooks-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "notebooks.projects.locations.list", @@ -2019,7 +2019,7 @@ } } }, - "revision": "20251121", + "revision": "20260130", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { diff --git a/discovery/notebooks-v2.json b/discovery/notebooks-v2.json index 83fe4dc17a..86ee629d53 100644 --- a/discovery/notebooks-v2.json +++ b/discovery/notebooks-v2.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "notebooks.projects.locations.list", @@ -474,7 +474,7 @@ "type": "string" }, "parent": { - "description": "Required. Format: `parent=projects/{project_id}/locations/{location}`", + "description": "Required. The parent of the instance. Formats: - `projects/{project_id}/locations/{location}` to list instances in a specific zone. - `projects/{project_id}/locations/-` to list instances in all locations.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -971,7 +971,7 @@ } } }, - "revision": "20251121", + "revision": "20260130", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -1750,7 +1750,7 @@ "type": "string" }, "unreachable": { - "description": "Locations that could not be reached. For example, ['us-west1-a', 'us-central1-b']. A ListInstancesResponse will only contain either instances or unreachables,", + "description": "Unordered list. Locations that could not be reached. For example, ['projects/{project_id}/locations/us-west1-a', 'projects/{project_id}/locations/us-central1-b']. A ListInstancesResponse will only contain either instances or unreachables,", "items": { "type": "string" }, diff --git a/src/apis/notebooks/v1.ts b/src/apis/notebooks/v1.ts index 637351a86a..50bc662d30 100644 --- a/src/apis/notebooks/v1.ts +++ b/src/apis/notebooks/v1.ts @@ -1931,7 +1931,7 @@ export namespace notebooks_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/notebooks/v2.ts b/src/apis/notebooks/v2.ts index ecc3e5ec30..0821fbbf52 100644 --- a/src/apis/notebooks/v2.ts +++ b/src/apis/notebooks/v2.ts @@ -623,7 +623,7 @@ export namespace notebooks_v2 { */ nextPageToken?: string | null; /** - * Locations that could not be reached. For example, ['us-west1-a', 'us-central1-b']. A ListInstancesResponse will only contain either instances or unreachables, + * Unordered list. Locations that could not be reached. For example, ['projects/{project_id\}/locations/us-west1-a', 'projects/{project_id\}/locations/us-central1-b']. A ListInstancesResponse will only contain either instances or unreachables, */ unreachable?: string[] | null; } @@ -1191,7 +1191,7 @@ export namespace notebooks_v2 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -2766,7 +2766,7 @@ export namespace notebooks_v2 { * pageSize: 'placeholder-value', * // Optional. A previous returned page token that can be used to continue listing from the last result. * pageToken: 'placeholder-value', - * // Required. Format: `parent=projects/{project_id\}/locations/{location\}` + * // Required. The parent of the instance. Formats: - `projects/{project_id\}/locations/{location\}` to list instances in a specific zone. - `projects/{project_id\}/locations/-` to list instances in all locations. * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); @@ -4782,7 +4782,7 @@ export namespace notebooks_v2 { */ pageToken?: string; /** - * Required. Format: `parent=projects/{project_id\}/locations/{location\}` + * Required. The parent of the instance. Formats: - `projects/{project_id\}/locations/{location\}` to list instances in a specific zone. - `projects/{project_id\}/locations/-` to list instances in all locations. */ parent?: string; } From 3386879e848a69a9df198a411ff147f341412f23 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:53 +0000 Subject: [PATCH 30/42] fix(privateca): update the API #### privateca:v1beta1 The following keys were changed: - resources.projects.resources.locations.methods.list.description #### privateca:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/privateca-v1.json | 4 ++-- discovery/privateca-v1beta1.json | 4 ++-- src/apis/privateca/v1.ts | 2 +- src/apis/privateca/v1beta1.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/discovery/privateca-v1.json b/discovery/privateca-v1.json index 753e71a1a1..92cfe89105 100644 --- a/discovery/privateca-v1.json +++ b/discovery/privateca-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "privateca.projects.locations.list", @@ -1616,7 +1616,7 @@ } } }, - "revision": "20260121", + "revision": "20260128", "rootUrl": "https://privateca.googleapis.com/", "schemas": { "AccessUrls": { diff --git a/discovery/privateca-v1beta1.json b/discovery/privateca-v1beta1.json index 7dfcd9d212..12be21013f 100644 --- a/discovery/privateca-v1beta1.json +++ b/discovery/privateca-v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "privateca.projects.locations.list", @@ -591,7 +591,7 @@ } } }, - "revision": "20251229", + "revision": "20260128", "rootUrl": "https://privateca.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/src/apis/privateca/v1.ts b/src/apis/privateca/v1.ts index b5d527ecad..538e00d947 100644 --- a/src/apis/privateca/v1.ts +++ b/src/apis/privateca/v1.ts @@ -1642,7 +1642,7 @@ export namespace privateca_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/privateca/v1beta1.ts b/src/apis/privateca/v1beta1.ts index 14ccc148a8..7fac2310ce 100644 --- a/src/apis/privateca/v1beta1.ts +++ b/src/apis/privateca/v1beta1.ts @@ -511,7 +511,7 @@ export namespace privateca_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From 2cd80c377b19cccde6692b6046f021e488990802 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:54 +0000 Subject: [PATCH 31/42] feat(redis): update the API #### redis:v1beta1 The following keys were added: - schemas.DatabaseResourceMetadata.properties.resourceFlags.description - schemas.DatabaseResourceMetadata.properties.resourceFlags.items.$ref - schemas.DatabaseResourceMetadata.properties.resourceFlags.type - schemas.ResourceFlags.description - schemas.ResourceFlags.id - schemas.ResourceFlags.properties.key.description - schemas.ResourceFlags.properties.key.type - schemas.ResourceFlags.properties.value.description - schemas.ResourceFlags.properties.value.type - schemas.ResourceFlags.type - schemas.ResourceMaintenanceInfo.properties.isInstanceStopped.description - schemas.ResourceMaintenanceInfo.properties.isInstanceStopped.type - schemas.ResourceMaintenanceInfo.properties.maintenanceState.description - schemas.ResourceMaintenanceInfo.properties.maintenanceState.enum - schemas.ResourceMaintenanceInfo.properties.maintenanceState.enumDescriptions - schemas.ResourceMaintenanceInfo.properties.maintenanceState.readOnly - schemas.ResourceMaintenanceInfo.properties.maintenanceState.type - schemas.ResourceMaintenanceInfo.properties.upcomingMaintenance.$ref - schemas.ResourceMaintenanceInfo.properties.upcomingMaintenance.description - schemas.ResourceMaintenanceInfo.properties.versionUpdateTime.description - schemas.ResourceMaintenanceInfo.properties.versionUpdateTime.format - schemas.ResourceMaintenanceInfo.properties.versionUpdateTime.type - schemas.UpcomingMaintenance.description - schemas.UpcomingMaintenance.id - schemas.UpcomingMaintenance.properties.endTime.description - schemas.UpcomingMaintenance.properties.endTime.format - schemas.UpcomingMaintenance.properties.endTime.type - schemas.UpcomingMaintenance.properties.startTime.description - schemas.UpcomingMaintenance.properties.startTime.format - schemas.UpcomingMaintenance.properties.startTime.type - schemas.UpcomingMaintenance.type The following keys were changed: - resources.projects.resources.locations.methods.list.description - schemas.DatabaseResourceMetadata.description - schemas.DatabaseResourceMetadata.properties.currentState.enum - schemas.DatabaseResourceMetadata.properties.currentState.enumDescriptions - schemas.DatabaseResourceMetadata.properties.expectedState.enum - schemas.DatabaseResourceMetadata.properties.expectedState.enumDescriptions #### redis:v1 The following keys were added: - schemas.DatabaseResourceMetadata.properties.resourceFlags.description - schemas.DatabaseResourceMetadata.properties.resourceFlags.items.$ref - schemas.DatabaseResourceMetadata.properties.resourceFlags.type - schemas.ResourceFlags.description - schemas.ResourceFlags.id - schemas.ResourceFlags.properties.key.description - schemas.ResourceFlags.properties.key.type - schemas.ResourceFlags.properties.value.description - schemas.ResourceFlags.properties.value.type - schemas.ResourceFlags.type - schemas.ResourceMaintenanceInfo.properties.isInstanceStopped.description - schemas.ResourceMaintenanceInfo.properties.isInstanceStopped.type - schemas.ResourceMaintenanceInfo.properties.maintenanceState.description - schemas.ResourceMaintenanceInfo.properties.maintenanceState.enum - schemas.ResourceMaintenanceInfo.properties.maintenanceState.enumDescriptions - schemas.ResourceMaintenanceInfo.properties.maintenanceState.readOnly - schemas.ResourceMaintenanceInfo.properties.maintenanceState.type - schemas.ResourceMaintenanceInfo.properties.upcomingMaintenance.$ref - schemas.ResourceMaintenanceInfo.properties.upcomingMaintenance.description - schemas.ResourceMaintenanceInfo.properties.versionUpdateTime.description - schemas.ResourceMaintenanceInfo.properties.versionUpdateTime.format - schemas.ResourceMaintenanceInfo.properties.versionUpdateTime.type - schemas.UpcomingMaintenance.description - schemas.UpcomingMaintenance.id - schemas.UpcomingMaintenance.properties.endTime.description - schemas.UpcomingMaintenance.properties.endTime.format - schemas.UpcomingMaintenance.properties.endTime.type - schemas.UpcomingMaintenance.properties.startTime.description - schemas.UpcomingMaintenance.properties.startTime.format - schemas.UpcomingMaintenance.properties.startTime.type - schemas.UpcomingMaintenance.type The following keys were changed: - resources.projects.resources.locations.methods.list.description - schemas.DatabaseResourceMetadata.description - schemas.DatabaseResourceMetadata.properties.currentState.enum - schemas.DatabaseResourceMetadata.properties.currentState.enumDescriptions - schemas.DatabaseResourceMetadata.properties.expectedState.enum - schemas.DatabaseResourceMetadata.properties.expectedState.enumDescriptions --- discovery/redis-v1.json | 93 +++++++++++++++++++++++++++++++++--- discovery/redis-v1beta1.json | 93 +++++++++++++++++++++++++++++++++--- src/apis/redis/v1.ts | 50 ++++++++++++++++++- src/apis/redis/v1beta1.ts | 50 ++++++++++++++++++- 4 files changed, 268 insertions(+), 18 deletions(-) diff --git a/discovery/redis-v1.json b/discovery/redis-v1.json index 129e274b84..97f8fae081 100644 --- a/discovery/redis-v1.json +++ b/discovery/redis-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "redis.projects.locations.list", @@ -1078,7 +1078,7 @@ } } }, - "revision": "20260107", + "revision": "20260129", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -2613,7 +2613,7 @@ "type": "object" }, "DatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 30", + "description": "Common model for database resource instance metadata. Next ID: 31", "id": "DatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -2645,7 +2645,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -2653,7 +2654,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -2692,7 +2694,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -2700,7 +2703,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -2788,6 +2792,13 @@ "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", "type": "string" }, + "resourceFlags": { + "description": "Optional. List of resource flags for the database resource.", + "items": { + "$ref": "ResourceFlags" + }, + "type": "array" + }, "resourceName": { "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" @@ -4949,6 +4960,21 @@ }, "type": "object" }, + "ResourceFlags": { + "description": "Message type for storing resource flags.", + "id": "ResourceFlags", + "properties": { + "key": { + "description": "Optional. Key of the resource flag.", + "type": "string" + }, + "value": { + "description": "Optional. Value of the resource flag.", + "type": "string" + } + }, + "type": "object" + }, "ResourceMaintenanceDenySchedule": { "description": "Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.", "id": "ResourceMaintenanceDenySchedule", @@ -4979,13 +5005,49 @@ }, "type": "array" }, + "isInstanceStopped": { + "description": "Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center.", + "type": "boolean" + }, "maintenanceSchedule": { "$ref": "ResourceMaintenanceSchedule", "description": "Optional. Maintenance window for the database resource." }, + "maintenanceState": { + "description": "Output only. Current state of maintenance on the database resource.", + "enum": [ + "MAINTENANCE_STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "REPAIRING", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state.", + "Database resource is being created.", + "Database resource has been created and is ready to use.", + "Database resource is being updated.", + "Database resource is unheathy and under repair.", + "Database resource is being deleted.", + "Database resource encountered an error and is in indeterministic state." + ], + "readOnly": true, + "type": "string" + }, "maintenanceVersion": { "description": "Optional. Current Maintenance version of the database resource. Example: \"MYSQL_8_0_41.R20250531.01_15\"", "type": "string" + }, + "upcomingMaintenance": { + "$ref": "UpcomingMaintenance", + "description": "Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window." + }, + "versionUpdateTime": { + "description": "Optional. This field will contain the date when the last version update was applied to the database resource. This will be used to calculate the age of the maintenance version.", + "format": "google-datetime", + "type": "string" } }, "type": "object" @@ -5222,6 +5284,23 @@ }, "type": "object" }, + "UpcomingMaintenance": { + "description": "Upcoming maintenance for the database resource. This is generated by SLM once the upcoming maintenance schedule is published.", + "id": "UpcomingMaintenance", + "properties": { + "endTime": { + "description": "Optional. The end time of the upcoming maintenance.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. The start time of the upcoming maintenance.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "UpdateInfo": { "description": "Represents information about an updating cluster.", "id": "UpdateInfo", diff --git a/discovery/redis-v1beta1.json b/discovery/redis-v1beta1.json index a45c6da329..9963bd12a7 100644 --- a/discovery/redis-v1beta1.json +++ b/discovery/redis-v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "redis.projects.locations.list", @@ -1078,7 +1078,7 @@ } } }, - "revision": "20260107", + "revision": "20260129", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -2613,7 +2613,7 @@ "type": "object" }, "DatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 30", + "description": "Common model for database resource instance metadata. Next ID: 31", "id": "DatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -2645,7 +2645,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -2653,7 +2654,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -2692,7 +2694,8 @@ "UNHEALTHY", "SUSPENDED", "DELETED", - "STATE_OTHER" + "STATE_OTHER", + "STOPPED" ], "enumDescriptions": [ "", @@ -2700,7 +2703,8 @@ "Instance being created, updated, deleted or under maintenance", "When instance is suspended", "Instance is deleted.", - "For rest of the other category" + "For rest of the other category", + "Instance is in STOPPED state." ], "type": "string" }, @@ -2788,6 +2792,13 @@ "description": "Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of \"/\", such as \"projects/123\". For GCP provided resources, number should be project number.", "type": "string" }, + "resourceFlags": { + "description": "Optional. List of resource flags for the database resource.", + "items": { + "$ref": "ResourceFlags" + }, + "type": "array" + }, "resourceName": { "description": "Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named \"ABC\" is deleted, the name \"ABC\" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" @@ -4956,6 +4967,21 @@ }, "type": "object" }, + "ResourceFlags": { + "description": "Message type for storing resource flags.", + "id": "ResourceFlags", + "properties": { + "key": { + "description": "Optional. Key of the resource flag.", + "type": "string" + }, + "value": { + "description": "Optional. Value of the resource flag.", + "type": "string" + } + }, + "type": "object" + }, "ResourceMaintenanceDenySchedule": { "description": "Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer.", "id": "ResourceMaintenanceDenySchedule", @@ -4986,13 +5012,49 @@ }, "type": "array" }, + "isInstanceStopped": { + "description": "Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center.", + "type": "boolean" + }, "maintenanceSchedule": { "$ref": "ResourceMaintenanceSchedule", "description": "Optional. Maintenance window for the database resource." }, + "maintenanceState": { + "description": "Output only. Current state of maintenance on the database resource.", + "enum": [ + "MAINTENANCE_STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "REPAIRING", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state.", + "Database resource is being created.", + "Database resource has been created and is ready to use.", + "Database resource is being updated.", + "Database resource is unheathy and under repair.", + "Database resource is being deleted.", + "Database resource encountered an error and is in indeterministic state." + ], + "readOnly": true, + "type": "string" + }, "maintenanceVersion": { "description": "Optional. Current Maintenance version of the database resource. Example: \"MYSQL_8_0_41.R20250531.01_15\"", "type": "string" + }, + "upcomingMaintenance": { + "$ref": "UpcomingMaintenance", + "description": "Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window." + }, + "versionUpdateTime": { + "description": "Optional. This field will contain the date when the last version update was applied to the database resource. This will be used to calculate the age of the maintenance version.", + "format": "google-datetime", + "type": "string" } }, "type": "object" @@ -5229,6 +5291,23 @@ }, "type": "object" }, + "UpcomingMaintenance": { + "description": "Upcoming maintenance for the database resource. This is generated by SLM once the upcoming maintenance schedule is published.", + "id": "UpcomingMaintenance", + "properties": { + "endTime": { + "description": "Optional. The end time of the upcoming maintenance.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. The start time of the upcoming maintenance.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "UpdateInfo": { "description": "Represents information about an updating cluster.", "id": "UpdateInfo", diff --git a/src/apis/redis/v1.ts b/src/apis/redis/v1.ts index 1251321a7c..72500c2abd 100644 --- a/src/apis/redis/v1.ts +++ b/src/apis/redis/v1.ts @@ -837,7 +837,7 @@ export namespace redis_v1 { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 30 + * Common model for database resource instance metadata. Next ID: 31 */ export interface Schema$DatabaseResourceMetadata { /** @@ -924,6 +924,10 @@ export namespace redis_v1 { * Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of "/", such as "projects/123". For GCP provided resources, number should be project number. */ resourceContainer?: string | null; + /** + * Optional. List of resource flags for the database resource. + */ + resourceFlags?: Schema$ResourceFlags[]; /** * Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named "ABC" is deleted, the name "ABC" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel */ @@ -1956,6 +1960,19 @@ export namespace redis_v1 { */ scheduleTime?: string | null; } + /** + * Message type for storing resource flags. + */ + export interface Schema$ResourceFlags { + /** + * Optional. Key of the resource flag. + */ + key?: string | null; + /** + * Optional. Value of the resource flag. + */ + value?: string | null; + } /** * Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer. */ @@ -1981,14 +1998,30 @@ export namespace redis_v1 { * Optional. List of Deny maintenance period for the database resource. */ denyMaintenanceSchedules?: Schema$ResourceMaintenanceDenySchedule[]; + /** + * Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center. + */ + isInstanceStopped?: boolean | null; /** * Optional. Maintenance window for the database resource. */ maintenanceSchedule?: Schema$ResourceMaintenanceSchedule; + /** + * Output only. Current state of maintenance on the database resource. + */ + maintenanceState?: string | null; /** * Optional. Current Maintenance version of the database resource. Example: "MYSQL_8_0_41.R20250531.01_15" */ maintenanceVersion?: string | null; + /** + * Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window. + */ + upcomingMaintenance?: Schema$UpcomingMaintenance; + /** + * Optional. This field will contain the date when the last version update was applied to the database resource. This will be used to calculate the age of the maintenance version. + */ + versionUpdateTime?: string | null; } /** * Maintenance window for the database resource. It specifies preferred time and day of the week and phase in some cases, when the maintenance can start. This is configured by the customer. @@ -2125,6 +2158,19 @@ export namespace redis_v1 { */ stringValue?: string | null; } + /** + * Upcoming maintenance for the database resource. This is generated by SLM once the upcoming maintenance schedule is published. + */ + export interface Schema$UpcomingMaintenance { + /** + * Optional. The end time of the upcoming maintenance. + */ + endTime?: string | null; + /** + * Optional. The start time of the upcoming maintenance. + */ + startTime?: string | null; + } /** * Represents information about an updating cluster. */ @@ -2353,7 +2399,7 @@ export namespace redis_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/redis/v1beta1.ts b/src/apis/redis/v1beta1.ts index 7bbb1d251a..90c29959e7 100644 --- a/src/apis/redis/v1beta1.ts +++ b/src/apis/redis/v1beta1.ts @@ -837,7 +837,7 @@ export namespace redis_v1beta1 { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 30 + * Common model for database resource instance metadata. Next ID: 31 */ export interface Schema$DatabaseResourceMetadata { /** @@ -924,6 +924,10 @@ export namespace redis_v1beta1 { * Closest parent Cloud Resource Manager container of this resource. It must be resource name of a Cloud Resource Manager project with the format of "/", such as "projects/123". For GCP provided resources, number should be project number. */ resourceContainer?: string | null; + /** + * Optional. List of resource flags for the database resource. + */ + resourceFlags?: Schema$ResourceFlags[]; /** * Required. Different from DatabaseResourceId.unique_id, a resource name can be reused over time. That is, after a resource named "ABC" is deleted, the name "ABC" can be used to to create a new resource within the same source. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel */ @@ -1956,6 +1960,19 @@ export namespace redis_v1beta1 { */ scheduleTime?: string | null; } + /** + * Message type for storing resource flags. + */ + export interface Schema$ResourceFlags { + /** + * Optional. Key of the resource flag. + */ + key?: string | null; + /** + * Optional. Value of the resource flag. + */ + value?: string | null; + } /** * Deny maintenance period for the database resource. It specifies the time range during which the maintenance cannot start. This is configured by the customer. */ @@ -1981,14 +1998,30 @@ export namespace redis_v1beta1 { * Optional. List of Deny maintenance period for the database resource. */ denyMaintenanceSchedules?: Schema$ResourceMaintenanceDenySchedule[]; + /** + * Optional. Whether the instance is in stopped state. This information is temporarily being captured in maintenanceInfo, till STOPPED state is supported by DB Center. + */ + isInstanceStopped?: boolean | null; /** * Optional. Maintenance window for the database resource. */ maintenanceSchedule?: Schema$ResourceMaintenanceSchedule; + /** + * Output only. Current state of maintenance on the database resource. + */ + maintenanceState?: string | null; /** * Optional. Current Maintenance version of the database resource. Example: "MYSQL_8_0_41.R20250531.01_15" */ maintenanceVersion?: string | null; + /** + * Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window. + */ + upcomingMaintenance?: Schema$UpcomingMaintenance; + /** + * Optional. This field will contain the date when the last version update was applied to the database resource. This will be used to calculate the age of the maintenance version. + */ + versionUpdateTime?: string | null; } /** * Maintenance window for the database resource. It specifies preferred time and day of the week and phase in some cases, when the maintenance can start. This is configured by the customer. @@ -2125,6 +2158,19 @@ export namespace redis_v1beta1 { */ stringValue?: string | null; } + /** + * Upcoming maintenance for the database resource. This is generated by SLM once the upcoming maintenance schedule is published. + */ + export interface Schema$UpcomingMaintenance { + /** + * Optional. The end time of the upcoming maintenance. + */ + endTime?: string | null; + /** + * Optional. The start time of the upcoming maintenance. + */ + startTime?: string | null; + } /** * Represents information about an updating cluster. */ @@ -2353,7 +2399,7 @@ export namespace redis_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From 234a444ac298f146def99c84f8b030e80069e4bd Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:54 +0000 Subject: [PATCH 32/42] feat(run): update the API #### run:v1 The following keys were added: - schemas.InstanceStatus.properties.urls.description - schemas.InstanceStatus.properties.urls.items.type - schemas.InstanceStatus.properties.urls.readOnly - schemas.InstanceStatus.properties.urls.type The following keys were changed: - endpoints - resources.projects.resources.locations.methods.list.description - schemas.ObjectMeta.properties.annotations.description - schemas.ObjectMeta.properties.generateName.description - schemas.ObjectMeta.properties.name.description #### run:v2 The following keys were changed: - endpoints - resources.projects.resources.locations.resources.instances.methods.create.parameters.instanceId.description - resources.projects.resources.locations.resources.jobs.methods.create.parameters.jobId.description - resources.projects.resources.locations.resources.services.methods.create.parameters.serviceId.description - resources.projects.resources.locations.resources.workerPools.methods.create.parameters.workerPoolId.description --- discovery/run-v1.json | 28 +++++++++++++++++++++++----- discovery/run-v2.json | 20 +++++++++++++++----- src/apis/run/v1.ts | 12 ++++++++---- src/apis/run/v2.ts | 16 ++++++++-------- 4 files changed, 54 insertions(+), 22 deletions(-) diff --git a/discovery/run-v1.json b/discovery/run-v1.json index 6f5bb0751f..f78d36a0cf 100644 --- a/discovery/run-v1.json +++ b/discovery/run-v1.json @@ -66,6 +66,11 @@ "endpointUrl": "https://asia-southeast2-run.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Locational Endpoint", + "endpointUrl": "https://asia-southeast3-run.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Locational Endpoint", "endpointUrl": "https://australia-southeast1-run.googleapis.com/", @@ -296,6 +301,11 @@ "endpointUrl": "https://run.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://run.australia-southeast1.rep.googleapis.com/", @@ -2182,7 +2192,7 @@ "locations": { "methods": { "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "run.projects.locations.list", @@ -3447,7 +3457,7 @@ } } }, - "revision": "20260123", + "revision": "20260130", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -6009,6 +6019,14 @@ "format": "int32", "readOnly": true, "type": "integer" + }, + "urls": { + "description": "Output only. All URLs serving traffic for this Instance.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -6565,7 +6583,7 @@ "additionalProperties": { "type": "string" }, - "description": "Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution.", + "description": "Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution.", "type": "object" }, "clusterName": { @@ -6595,7 +6613,7 @@ "type": "array" }, "generateName": { - "description": "Not supported by Cloud Run", + "description": "Optional. A prefix for the resource name if not provided in the create request. Must be less than 31 characters to allow for a random suffix.", "type": "string" }, "generation": { @@ -6611,7 +6629,7 @@ "type": "object" }, "name": { - "description": "Required. The name of the resource. Name is required when creating top-level resources (Service, Job), must be unique within a Cloud Run project/region, and cannot be changed once created.", + "description": "Optional. The name of the resource. A name for creating top-level resources (Service, Job, WorkerPool). Must be unique within a Cloud Run project/region, and cannot be changed once created. If omitted, a default name will be generated.", "type": "string" }, "namespace": { diff --git a/discovery/run-v2.json b/discovery/run-v2.json index 66ae1bf24c..fd2a371c11 100644 --- a/discovery/run-v2.json +++ b/discovery/run-v2.json @@ -66,6 +66,11 @@ "endpointUrl": "https://asia-southeast2-run.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Locational Endpoint", + "endpointUrl": "https://asia-southeast3-run.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Locational Endpoint", "endpointUrl": "https://australia-southeast1-run.googleapis.com/", @@ -296,6 +301,11 @@ "endpointUrl": "https://run.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://run.australia-southeast1.rep.googleapis.com/", @@ -720,7 +730,7 @@ ], "parameters": { "instanceId": { - "description": "Required. The unique identifier for the Instance. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the instance becomes {parent}/instances/{instance_id}.", + "description": "Optional. The unique identifier for the Instance. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the instance becomes {parent}/instances/{instance_id}. If not provided, the server will generate a unique `instance_id`.", "location": "query", "type": "string" }, @@ -916,7 +926,7 @@ ], "parameters": { "jobId": { - "description": "Required. The unique identifier for the Job. The name of the job becomes {parent}/jobs/{job_id}.", + "description": "Optional. The unique identifier for the Job. The name of the job becomes {parent}/jobs/{job_id}. If not provided, the server will generate a unique `job_id`.", "location": "query", "type": "string" }, @@ -1587,7 +1597,7 @@ "type": "string" }, "serviceId": { - "description": "Required. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent}/services/{service_id}.", + "description": "Optional. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent}/services/{service_id}. If not provided, the server will generate a unique `service_id`.", "location": "query", "type": "string" }, @@ -2006,7 +2016,7 @@ "type": "boolean" }, "workerPoolId": { - "description": "Required. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes `{parent}/workerPools/{worker_pool_id}`.", + "description": "Optional. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes `{parent}/workerPools/{worker_pool_id}`. If not provided, the server will generate a unique `worker_pool_id`.", "location": "query", "type": "string" } @@ -2373,7 +2383,7 @@ } } }, - "revision": "20260123", + "revision": "20260130", "rootUrl": "https://run.googleapis.com/", "schemas": { "GoogleCloudRunV2BinaryAuthorization": { diff --git a/src/apis/run/v1.ts b/src/apis/run/v1.ts index 9ec2b50534..107b39e28e 100644 --- a/src/apis/run/v1.ts +++ b/src/apis/run/v1.ts @@ -1956,6 +1956,10 @@ export namespace run_v1 { * Output only. The 'generation' of the Instance that was last processed by the controller. */ observedGeneration?: number | null; + /** + * Output only. All URLs serving traffic for this Instance. + */ + urls?: string[] | null; } /** * Job represents the configuration of a single job, which references a container image which is run to completion. @@ -2386,7 +2390,7 @@ export namespace run_v1 { */ export interface Schema$ObjectMeta { /** - * Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution. + * Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution. */ annotations?: {[key: string]: string} | null; /** @@ -2410,7 +2414,7 @@ export namespace run_v1 { */ finalizers?: string[] | null; /** - * Not supported by Cloud Run + * Optional. A prefix for the resource name if not provided in the create request. Must be less than 31 characters to allow for a random suffix. */ generateName?: string | null; /** @@ -2422,7 +2426,7 @@ export namespace run_v1 { */ labels?: {[key: string]: string} | null; /** - * Required. The name of the resource. Name is required when creating top-level resources (Service, Job), must be unique within a Cloud Run project/region, and cannot be changed once created. + * Optional. The name of the resource. A name for creating top-level resources (Service, Job, WorkerPool). Must be unique within a Cloud Run project/region, and cannot be changed once created. If omitted, a default name will be generated. */ name?: string | null; /** @@ -10265,7 +10269,7 @@ export namespace run_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/run/v2.ts b/src/apis/run/v2.ts index e337a0fc34..c20200068a 100644 --- a/src/apis/run/v2.ts +++ b/src/apis/run/v2.ts @@ -4506,7 +4506,7 @@ export namespace run_v2 { * * // Do the magic * const res = await run.projects.locations.instances.create({ - * // Required. The unique identifier for the Instance. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the instance becomes {parent\}/instances/{instance_id\}. + * // Optional. The unique identifier for the Instance. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the instance becomes {parent\}/instances/{instance_id\}. If not provided, the server will generate a unique `instance_id`. * instanceId: 'placeholder-value', * * parent: 'projects/my-project/locations/my-location', @@ -5444,7 +5444,7 @@ export namespace run_v2 { export interface Params$Resource$Projects$Locations$Instances$Create extends StandardParameters { /** - * Required. The unique identifier for the Instance. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the instance becomes {parent\}/instances/{instance_id\}. + * Optional. The unique identifier for the Instance. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the instance becomes {parent\}/instances/{instance_id\}. If not provided, the server will generate a unique `instance_id`. */ instanceId?: string; /** @@ -5563,7 +5563,7 @@ export namespace run_v2 { * * // Do the magic * const res = await run.projects.locations.jobs.create({ - * // Required. The unique identifier for the Job. The name of the job becomes {parent\}/jobs/{job_id\}. + * // Optional. The unique identifier for the Job. The name of the job becomes {parent\}/jobs/{job_id\}. If not provided, the server will generate a unique `job_id`. * jobId: 'placeholder-value', * // Required. The location and project in which this Job should be created. Format: projects/{project\}/locations/{location\}, where {project\} can be project id or number. * parent: 'projects/my-project/locations/my-location', @@ -6952,7 +6952,7 @@ export namespace run_v2 { export interface Params$Resource$Projects$Locations$Jobs$Create extends StandardParameters { /** - * Required. The unique identifier for the Job. The name of the job becomes {parent\}/jobs/{job_id\}. + * Optional. The unique identifier for the Job. The name of the job becomes {parent\}/jobs/{job_id\}. If not provided, the server will generate a unique `job_id`. */ jobId?: string; /** @@ -8945,7 +8945,7 @@ export namespace run_v2 { * const res = await run.projects.locations.services.create({ * // Required. The location and project in which this service should be created. Format: projects/{project\}/locations/{location\}, where {project\} can be project id or number. Only lowercase characters, digits, and hyphens. * parent: 'projects/my-project/locations/my-location', - * // Required. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent\}/services/{service_id\}. + * // Optional. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent\}/services/{service_id\}. If not provided, the server will generate a unique `service_id`. * serviceId: 'placeholder-value', * // Indicates that the request should be validated and default values populated, without persisting the request or creating any resources. * validateOnly: 'placeholder-value', @@ -10231,7 +10231,7 @@ export namespace run_v2 { */ parent?: string; /** - * Required. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent\}/services/{service_id\}. + * Optional. The unique identifier for the Service. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the service becomes {parent\}/services/{service_id\}. If not provided, the server will generate a unique `service_id`. */ serviceId?: string; /** @@ -11065,7 +11065,7 @@ export namespace run_v2 { * parent: 'projects/my-project/locations/my-location', * // Optional. Indicates that the request should be validated and default values populated, without persisting the request or creating any resources. * validateOnly: 'placeholder-value', - * // Required. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes `{parent\}/workerPools/{worker_pool_id\}`. + * // Optional. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes `{parent\}/workerPools/{worker_pool_id\}`. If not provided, the server will generate a unique `worker_pool_id`. * workerPoolId: 'placeholder-value', * * // Request body metadata @@ -12337,7 +12337,7 @@ export namespace run_v2 { */ validateOnly?: boolean; /** - * Required. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes `{parent\}/workerPools/{worker_pool_id\}`. + * Optional. The unique identifier for the WorkerPool. It must begin with letter, and cannot end with hyphen; must contain fewer than 50 characters. The name of the worker pool becomes `{parent\}/workerPools/{worker_pool_id\}`. If not provided, the server will generate a unique `worker_pool_id`. */ workerPoolId?: string; From 890fa57f404abe8b55afbf1472920865e503b045 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:54 +0000 Subject: [PATCH 33/42] feat(saasservicemgmt): update the API #### saasservicemgmt:v1beta1 The following keys were added: - schemas.Rollout.properties.deleteTime.description - schemas.Rollout.properties.deleteTime.format - schemas.Rollout.properties.deleteTime.readOnly - schemas.Rollout.properties.deleteTime.type - schemas.UnitOperation.properties.deleteTime.description - schemas.UnitOperation.properties.deleteTime.format - schemas.UnitOperation.properties.deleteTime.readOnly - schemas.UnitOperation.properties.deleteTime.type The following keys were changed: - resources.projects.resources.locations.methods.list.description - schemas.RolloutStats.properties.operationsByState.description --- discovery/saasservicemgmt-v1beta1.json | 18 +++++++++++++++--- src/apis/saasservicemgmt/v1beta1.ts | 22 ++++++++++++++++++++-- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/discovery/saasservicemgmt-v1beta1.json b/discovery/saasservicemgmt-v1beta1.json index cf9bc8ebae..b6914ae552 100644 --- a/discovery/saasservicemgmt-v1beta1.json +++ b/discovery/saasservicemgmt-v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "saasservicemgmt.projects.locations.list", @@ -1804,7 +1804,7 @@ } } }, - "revision": "20251207", + "revision": "20260128", "rootUrl": "https://saasservicemgmt.googleapis.com/", "schemas": { "Aggregate": { @@ -2313,6 +2313,12 @@ "readOnly": true, "type": "string" }, + "deleteTime": { + "description": "Output only. The timestamp when the resource was marked for deletion (deletion is an asynchronous operation).", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "effectiveUnitFilter": { "description": "Optional. Output only. Output only snapshot of the effective unit filter at Rollout start time. Contains a CEL(https://github.com/google/cel-spec) expression consisting of a conjunction of Rollout.unit_filter and RolloutKind.unit_filter. This field captures the filter applied by the Rollout to determine the Unit population. If the associated RolloutKind's unit_filter is modified after the rollout is started, it will not be updated here.", "readOnly": true, @@ -2556,7 +2562,7 @@ "id": "RolloutStats", "properties": { "operationsByState": { - "description": "Output only. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - \"SCHEDULED\" - \"PENDING\" - \"RUNNING\" - \"SUCCEEDED\" - \"FAILED\" - \"CANCELLED\"", + "description": "Optional. Output only. Unordered list. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - \"SCHEDULED\" - \"PENDING\" - \"RUNNING\" - \"SUCCEEDED\" - \"FAILED\" - \"CANCELLED\"", "items": { "$ref": "Aggregate" }, @@ -3081,6 +3087,12 @@ "readOnly": true, "type": "string" }, + "deleteTime": { + "description": "Output only. The timestamp when the resource was marked for deletion (deletion is an asynchronous operation).", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "deprovision": { "$ref": "Deprovision" }, diff --git a/src/apis/saasservicemgmt/v1beta1.ts b/src/apis/saasservicemgmt/v1beta1.ts index bcdfcaeb62..1147e4fd7a 100644 --- a/src/apis/saasservicemgmt/v1beta1.ts +++ b/src/apis/saasservicemgmt/v1beta1.ts @@ -488,6 +488,10 @@ export namespace saasservicemgmt_v1beta1 { * Output only. The timestamp when the resource was created. */ createTime?: string | null; + /** + * Output only. The timestamp when the resource was marked for deletion (deletion is an asynchronous operation). + */ + deleteTime?: string | null; /** * Optional. Output only. Output only snapshot of the effective unit filter at Rollout start time. Contains a CEL(https://github.com/google/cel-spec) expression consisting of a conjunction of Rollout.unit_filter and RolloutKind.unit_filter. This field captures the filter applied by the Rollout to determine the Unit population. If the associated RolloutKind's unit_filter is modified after the rollout is started, it will not be updated here. */ @@ -636,7 +640,7 @@ export namespace saasservicemgmt_v1beta1 { */ export interface Schema$RolloutStats { /** - * Output only. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - "SCHEDULED" - "PENDING" - "RUNNING" - "SUCCEEDED" - "FAILED" - "CANCELLED" + * Optional. Output only. Unordered list. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - "SCHEDULED" - "PENDING" - "RUNNING" - "SUCCEEDED" - "FAILED" - "CANCELLED" */ operationsByState?: Schema$Aggregate[]; } @@ -961,6 +965,10 @@ export namespace saasservicemgmt_v1beta1 { * Output only. The timestamp when the resource was created. */ createTime?: string | null; + /** + * Output only. The timestamp when the resource was marked for deletion (deletion is an asynchronous operation). + */ + deleteTime?: string | null; deprovision?: Schema$Deprovision; /** * Optional. Output only. The engine state for on-going deployment engine operation(s). This field is opaque for external usage. @@ -1265,7 +1273,7 @@ export namespace saasservicemgmt_v1beta1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: @@ -3266,6 +3274,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "control": {}, * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "effectiveUnitFilter": "my_effectiveUnitFilter", * // "endTime": "my_endTime", * // "etag": "my_etag", @@ -3294,6 +3303,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "control": {}, * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "effectiveUnitFilter": "my_effectiveUnitFilter", * // "endTime": "my_endTime", * // "etag": "my_etag", @@ -3591,6 +3601,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "control": {}, * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "effectiveUnitFilter": "my_effectiveUnitFilter", * // "endTime": "my_endTime", * // "etag": "my_etag", @@ -3902,6 +3913,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "control": {}, * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "effectiveUnitFilter": "my_effectiveUnitFilter", * // "endTime": "my_endTime", * // "etag": "my_etag", @@ -3930,6 +3942,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "control": {}, * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "effectiveUnitFilter": "my_effectiveUnitFilter", * // "endTime": "my_endTime", * // "etag": "my_etag", @@ -6793,6 +6806,7 @@ export namespace saasservicemgmt_v1beta1 { * // "cancel": false, * // "conditions": [], * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "deprovision": {}, * // "engineState": "my_engineState", * // "errorCategory": "my_errorCategory", @@ -6819,6 +6833,7 @@ export namespace saasservicemgmt_v1beta1 { * // "cancel": false, * // "conditions": [], * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "deprovision": {}, * // "engineState": "my_engineState", * // "errorCategory": "my_errorCategory", @@ -7114,6 +7129,7 @@ export namespace saasservicemgmt_v1beta1 { * // "cancel": false, * // "conditions": [], * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "deprovision": {}, * // "engineState": "my_engineState", * // "errorCategory": "my_errorCategory", @@ -7425,6 +7441,7 @@ export namespace saasservicemgmt_v1beta1 { * // "cancel": false, * // "conditions": [], * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "deprovision": {}, * // "engineState": "my_engineState", * // "errorCategory": "my_errorCategory", @@ -7451,6 +7468,7 @@ export namespace saasservicemgmt_v1beta1 { * // "cancel": false, * // "conditions": [], * // "createTime": "my_createTime", + * // "deleteTime": "my_deleteTime", * // "deprovision": {}, * // "engineState": "my_engineState", * // "errorCategory": "my_errorCategory", From 63e51cd0dbd1f808d501206ace1964aa36bb6b94 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:54 +0000 Subject: [PATCH 34/42] feat(securityposture): update the API #### securityposture:v1 The following keys were added: - schemas.IacValidationFailureCriteria.description - schemas.IacValidationFailureCriteria.id - schemas.IacValidationFailureCriteria.properties.createTime.description - schemas.IacValidationFailureCriteria.properties.createTime.format - schemas.IacValidationFailureCriteria.properties.createTime.readOnly - schemas.IacValidationFailureCriteria.properties.createTime.type - schemas.IacValidationFailureCriteria.properties.etag.description - schemas.IacValidationFailureCriteria.properties.etag.type - schemas.IacValidationFailureCriteria.properties.name.description - schemas.IacValidationFailureCriteria.properties.name.type - schemas.IacValidationFailureCriteria.properties.severityCountThresholds.description - schemas.IacValidationFailureCriteria.properties.severityCountThresholds.items.$ref - schemas.IacValidationFailureCriteria.properties.severityCountThresholds.type - schemas.IacValidationFailureCriteria.properties.updateTime.description - schemas.IacValidationFailureCriteria.properties.updateTime.format - schemas.IacValidationFailureCriteria.properties.updateTime.readOnly - schemas.IacValidationFailureCriteria.properties.updateTime.type - schemas.IacValidationFailureCriteria.type - schemas.SeverityCountThreshold.description - schemas.SeverityCountThreshold.id - schemas.SeverityCountThreshold.properties.severity.description - schemas.SeverityCountThreshold.properties.severity.enum - schemas.SeverityCountThreshold.properties.severity.enumDescriptions - schemas.SeverityCountThreshold.properties.severity.type - schemas.SeverityCountThreshold.properties.thresholdCount.description - schemas.SeverityCountThreshold.properties.thresholdCount.format - schemas.SeverityCountThreshold.properties.thresholdCount.type - schemas.SeverityCountThreshold.type --- discovery/securityposture-v1.json | 66 ++++++++++++++++++++++++++++++- src/apis/securityposture/v1.ts | 38 ++++++++++++++++++ 2 files changed, 103 insertions(+), 1 deletion(-) diff --git a/discovery/securityposture-v1.json b/discovery/securityposture-v1.json index 7c238012d8..930537287e 100644 --- a/discovery/securityposture-v1.json +++ b/discovery/securityposture-v1.json @@ -903,7 +903,7 @@ } } }, - "revision": "20260130", + "revision": "20260205", "rootUrl": "https://securityposture.googleapis.com/", "schemas": { "AssetDetails": { @@ -1238,6 +1238,40 @@ }, "type": "object" }, + "IacValidationFailureCriteria": { + "description": "Represents the criteria for considering an IaC validation as a failure.", + "id": "IacValidationFailureCriteria", + "properties": { + "createTime": { + "description": "Output only. The time at which the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Optional. The etag for optimistic concurrency.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the IacValidationFailureCriteria. Format: organizations/{organization}/locations/{location}/iacValidationFailureCriteria", + "type": "string" + }, + "severityCountThresholds": { + "description": "Optional. A list of severity thresholds. An IaC validation fails if any threshold is exceeded.", + "items": { + "$ref": "SeverityCountThreshold" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The time at which the resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "ListLocationsResponse": { "description": "The response message for Locations.ListLocations.", "id": "ListLocationsResponse", @@ -2070,6 +2104,36 @@ }, "type": "object" }, + "SeverityCountThreshold": { + "description": "Represents a threshold for a specific severity.", + "id": "SeverityCountThreshold", + "properties": { + "severity": { + "description": "Optional. The severity level, reusing the existing Violation.Severity.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Critical severity.", + "High severity.", + "Medium severity.", + "Low severity." + ], + "type": "string" + }, + "thresholdCount": { + "description": "Optional. If violation count meets or exceeds this threshold, validation fails.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", diff --git a/src/apis/securityposture/v1.ts b/src/apis/securityposture/v1.ts index 9c3e1f8e55..dc7232a775 100644 --- a/src/apis/securityposture/v1.ts +++ b/src/apis/securityposture/v1.ts @@ -354,6 +354,31 @@ export namespace securityposture_v1 { */ tfPlan?: string | null; } + /** + * Represents the criteria for considering an IaC validation as a failure. + */ + export interface Schema$IacValidationFailureCriteria { + /** + * Output only. The time at which the resource was created. + */ + createTime?: string | null; + /** + * Optional. The etag for optimistic concurrency. + */ + etag?: string | null; + /** + * Identifier. The resource name of the IacValidationFailureCriteria. Format: organizations/{organization\}/locations/{location\}/iacValidationFailureCriteria + */ + name?: string | null; + /** + * Optional. A list of severity thresholds. An IaC validation fails if any threshold is exceeded. + */ + severityCountThresholds?: Schema$SeverityCountThreshold[]; + /** + * Output only. The time at which the resource was last updated. + */ + updateTime?: string | null; + } /** * Details of an infrastructure-as-code (IaC) validation report. */ @@ -900,6 +925,19 @@ export namespace securityposture_v1 { */ moduleName?: string | null; } + /** + * Represents a threshold for a specific severity. + */ + export interface Schema$SeverityCountThreshold { + /** + * Optional. The severity level, reusing the existing Violation.Severity. + */ + severity?: string | null; + /** + * Optional. If violation count meets or exceeds this threshold, validation fails. + */ + thresholdCount?: number | null; + } /** * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */ From 70b0bdf3ca9c6bc069b725ed463dead6e047fc5f Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:54 +0000 Subject: [PATCH 35/42] feat(threatintelligence): update the API #### threatintelligence:v1beta The following keys were added: - resources.projects.methods.generateOrgProfile.description - resources.projects.methods.generateOrgProfile.flatPath - resources.projects.methods.generateOrgProfile.httpMethod - resources.projects.methods.generateOrgProfile.id - resources.projects.methods.generateOrgProfile.parameterOrder - resources.projects.methods.generateOrgProfile.parameters.name.description - resources.projects.methods.generateOrgProfile.parameters.name.location - resources.projects.methods.generateOrgProfile.parameters.name.pattern - resources.projects.methods.generateOrgProfile.parameters.name.required - resources.projects.methods.generateOrgProfile.parameters.name.type - resources.projects.methods.generateOrgProfile.path - resources.projects.methods.generateOrgProfile.request.$ref - resources.projects.methods.generateOrgProfile.response.$ref - resources.projects.methods.generateOrgProfile.scopes - schemas.Alert.properties.findingCount.description - schemas.Alert.properties.findingCount.format - schemas.Alert.properties.findingCount.readOnly - schemas.Alert.properties.findingCount.type - schemas.GenerateOrgProfileConfigurationRequest.description - schemas.GenerateOrgProfileConfigurationRequest.id - schemas.GenerateOrgProfileConfigurationRequest.properties.displayName.description - schemas.GenerateOrgProfileConfigurationRequest.properties.displayName.type - schemas.GenerateOrgProfileConfigurationRequest.properties.domain.description - schemas.GenerateOrgProfileConfigurationRequest.properties.domain.type - schemas.GenerateOrgProfileConfigurationRequest.type - schemas.Operation.description - schemas.Operation.id - schemas.Operation.properties.done.description - schemas.Operation.properties.done.type - schemas.Operation.properties.error.$ref - schemas.Operation.properties.error.description - schemas.Operation.properties.metadata.additionalProperties.description - schemas.Operation.properties.metadata.additionalProperties.type - schemas.Operation.properties.metadata.description - schemas.Operation.properties.metadata.type - schemas.Operation.properties.name.description - schemas.Operation.properties.name.type - schemas.Operation.properties.response.additionalProperties.description - schemas.Operation.properties.response.additionalProperties.type - schemas.Operation.properties.response.description - schemas.Operation.properties.response.type - schemas.Operation.type - schemas.Status.description - schemas.Status.id - schemas.Status.properties.code.description - schemas.Status.properties.code.format - schemas.Status.properties.code.type - schemas.Status.properties.details.description - schemas.Status.properties.details.items.additionalProperties.description - schemas.Status.properties.details.items.additionalProperties.type - schemas.Status.properties.details.items.type - schemas.Status.properties.details.type - schemas.Status.properties.message.description - schemas.Status.properties.message.type - schemas.Status.type --- discovery/threatintelligence-v1beta.json | 115 ++++++++++- src/apis/threatintelligence/v1beta.ts | 232 +++++++++++++++++++++++ 2 files changed, 346 insertions(+), 1 deletion(-) diff --git a/discovery/threatintelligence-v1beta.json b/discovery/threatintelligence-v1beta.json index 987dcf795d..6a0b10115e 100644 --- a/discovery/threatintelligence-v1beta.json +++ b/discovery/threatintelligence-v1beta.json @@ -106,6 +106,36 @@ "protocol": "rest", "resources": { "projects": { + "methods": { + "generateOrgProfile": { + "description": "Triggers the generation of a Customer Profile for a project.", + "flatPath": "v1beta/projects/{projectsId}:generateOrgProfile", + "httpMethod": "POST", + "id": "threatintelligence.projects.generateOrgProfile", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the project to generate the profile for. Format: projects/{project}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:generateOrgProfile", + "request": { + "$ref": "GenerateOrgProfileConfigurationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "alerts": { "methods": { @@ -836,7 +866,7 @@ } } }, - "revision": "20260122", + "revision": "20260204", "rootUrl": "https://threatintelligence.googleapis.com/", "schemas": { "AffectedSoftware": { @@ -915,6 +945,12 @@ "readOnly": true, "type": "string" }, + "findingCount": { + "description": "Output only. The number of findings associated with this alert.", + "format": "int64", + "readOnly": true, + "type": "string" + }, "findings": { "description": "Output only. Findings that are covered by this alert.", "items": { @@ -2129,6 +2165,21 @@ }, "type": "object" }, + "GenerateOrgProfileConfigurationRequest": { + "description": "Request message for GenerateOrgProfileConfiguration.", + "id": "GenerateOrgProfileConfigurationRequest", + "properties": { + "displayName": { + "description": "Required. The display name of the organization to generate the profile for.", + "type": "string" + }, + "domain": { + "description": "Required. The domain of the organization to generate the profile for.", + "type": "string" + } + }, + "type": "object" + }, "InbandVulnerability": { "description": "Fleshed out vulnerability object that includes enough details to fill out a vulnerability specific view for an issue.", "id": "InbandVulnerability", @@ -2529,6 +2580,41 @@ }, "type": "object" }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, "PriorityAnalysis": { "description": "Structured priority analysis for a threat.", "id": "PriorityAnalysis", @@ -2754,6 +2840,33 @@ }, "type": "object" }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, "SuspiciousDomainAlertDetail": { "description": "The alert detail for a suspicious domain finding.", "id": "SuspiciousDomainAlertDetail", diff --git a/src/apis/threatintelligence/v1beta.ts b/src/apis/threatintelligence/v1beta.ts index 5ad013a26e..9aedf8ddd0 100644 --- a/src/apis/threatintelligence/v1beta.ts +++ b/src/apis/threatintelligence/v1beta.ts @@ -181,6 +181,10 @@ export namespace threatintelligence_v1beta { * Output only. External ID for the alert. This is used internally to provide protection against out of order updates. */ externalId?: string | null; + /** + * Output only. The number of findings associated with this alert. + */ + findingCount?: string | null; /** * Output only. Findings that are covered by this alert. */ @@ -1056,6 +1060,19 @@ export namespace threatintelligence_v1beta { */ targetTechnology?: Schema$TargetTechnologyFindingDetail; } + /** + * Request message for GenerateOrgProfileConfiguration. + */ + export interface Schema$GenerateOrgProfileConfigurationRequest { + /** + * Required. The display name of the organization to generate the profile for. + */ + displayName?: string | null; + /** + * Required. The domain of the organization to generate the profile for. + */ + domain?: string | null; + } /** * Fleshed out vulnerability object that includes enough details to fill out a vulnerability specific view for an issue. */ @@ -1347,6 +1364,31 @@ export namespace threatintelligence_v1beta { */ uri?: string | null; } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } /** * Structured priority analysis for a threat. */ @@ -1445,6 +1487,23 @@ export namespace threatintelligence_v1beta { */ severityLevel?: string | null; } + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } /** * The alert detail for a suspicious domain finding. */ @@ -1677,6 +1736,169 @@ export namespace threatintelligence_v1beta { this.configurations = new Resource$Projects$Configurations(this.context); this.findings = new Resource$Projects$Findings(this.context); } + + /** + * Triggers the generation of a Customer Profile for a project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/threatintelligence.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const threatintelligence = google.threatintelligence('v1beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await threatintelligence.projects.generateOrgProfile({ + * // Required. The name of the project to generate the profile for. Format: projects/{project\} + * name: 'projects/my-project', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "displayName": "my_displayName", + * // "domain": "my_domain" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateOrgProfile( + params: Params$Resource$Projects$Generateorgprofile, + options: StreamMethodOptions + ): Promise>; + generateOrgProfile( + params?: Params$Resource$Projects$Generateorgprofile, + options?: MethodOptions + ): Promise>; + generateOrgProfile( + params: Params$Resource$Projects$Generateorgprofile, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateOrgProfile( + params: Params$Resource$Projects$Generateorgprofile, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateOrgProfile( + params: Params$Resource$Projects$Generateorgprofile, + callback: BodyResponseCallback + ): void; + generateOrgProfile(callback: BodyResponseCallback): void; + generateOrgProfile( + paramsOrCallback?: + | Params$Resource$Projects$Generateorgprofile + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Generateorgprofile; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Generateorgprofile; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://threatintelligence.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:generateOrgProfile').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Generateorgprofile extends StandardParameters { + /** + * Required. The name of the project to generate the profile for. Format: projects/{project\} + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GenerateOrgProfileConfigurationRequest; } export class Resource$Projects$Alerts { @@ -1741,6 +1963,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -1902,6 +2125,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -2207,6 +2431,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -2366,6 +2591,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -2519,6 +2745,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -2822,6 +3049,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -2981,6 +3209,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -3438,6 +3667,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -3597,6 +3827,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, @@ -3756,6 +3987,7 @@ export namespace threatintelligence_v1beta { * // "duplicatedBy": [], * // "etag": "my_etag", * // "externalId": "my_externalId", + * // "findingCount": "my_findingCount", * // "findings": [], * // "name": "my_name", * // "priorityAnalysis": {}, From e8989940e434dc3ce52bd85abdbe3a621267549f Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:54 +0000 Subject: [PATCH 36/42] feat(walletobjects): update the API #### walletobjects:v1 The following keys were added: - resources.eventticketobject.methods.modifylinkedofferobjects.deprecated - resources.loyaltyobject.methods.modifylinkedofferobjects.deprecated The following keys were changed: - resources.eventticketobject.methods.modifylinkedofferobjects.description - resources.loyaltyobject.methods.modifylinkedofferobjects.description --- discovery/walletobjects-v1.json | 8 +++++--- src/apis/walletobjects/v1.ts | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/discovery/walletobjects-v1.json b/discovery/walletobjects-v1.json index 2295730224..0cfb39cdcb 100644 --- a/discovery/walletobjects-v1.json +++ b/discovery/walletobjects-v1.json @@ -369,7 +369,8 @@ ] }, "modifylinkedofferobjects": { - "description": "Modifies linked offer objects for the event ticket object with the given ID.", + "deprecated": true, + "description": "Deprecated: Use Auto Linked Passes instead. Modifies linked offer objects for the event ticket object with the given ID.", "flatPath": "walletobjects/v1/eventTicketObject/{resourceId}/modifyLinkedOfferObjects", "httpMethod": "POST", "id": "walletobjects.eventticketobject.modifylinkedofferobjects", @@ -1812,7 +1813,8 @@ ] }, "modifylinkedofferobjects": { - "description": "Modifies linked offer objects for the loyalty object with the given ID.", + "deprecated": true, + "description": "Deprecated: Use Auto Linked Passes instead. Modifies linked offer objects for the loyalty object with the given ID.", "flatPath": "walletobjects/v1/loyaltyObject/{resourceId}/modifyLinkedOfferObjects", "httpMethod": "POST", "id": "walletobjects.loyaltyobject.modifylinkedofferobjects", @@ -2711,7 +2713,7 @@ } } }, - "revision": "20260113", + "revision": "20260204", "rootUrl": "https://walletobjects.googleapis.com/", "schemas": { "ActivationOptions": { diff --git a/src/apis/walletobjects/v1.ts b/src/apis/walletobjects/v1.ts index 703902ea62..8a38100d0d 100644 --- a/src/apis/walletobjects/v1.ts +++ b/src/apis/walletobjects/v1.ts @@ -6320,7 +6320,7 @@ export namespace walletobjects_v1 { } /** - * Modifies linked offer objects for the event ticket object with the given ID. + * Deprecated: Use Auto Linked Passes instead. Modifies linked offer objects for the event ticket object with the given ID. * @example * ```js * // Before running the sample: @@ -16788,7 +16788,7 @@ export namespace walletobjects_v1 { } /** - * Modifies linked offer objects for the loyalty object with the given ID. + * Deprecated: Use Auto Linked Passes instead. Modifies linked offer objects for the loyalty object with the given ID. * @example * ```js * // Before running the sample: From 81f5beaa72e9de428d7430952bf82d16eb6dbe4f Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:54 +0000 Subject: [PATCH 37/42] fix(workflows): update the API #### workflows:v1beta The following keys were changed: - resources.projects.resources.locations.methods.list.description #### workflows:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/workflows-v1.json | 4 ++-- discovery/workflows-v1beta.json | 4 ++-- src/apis/workflows/v1.ts | 2 +- src/apis/workflows/v1beta.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/discovery/workflows-v1.json b/discovery/workflows-v1.json index 31a8a4c55f..66e0d4129a 100644 --- a/discovery/workflows-v1.json +++ b/discovery/workflows-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "workflows.projects.locations.list", @@ -496,7 +496,7 @@ } } }, - "revision": "20251203", + "revision": "20260128", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { diff --git a/discovery/workflows-v1beta.json b/discovery/workflows-v1beta.json index 7b764800bc..d370e70d57 100644 --- a/discovery/workflows-v1beta.json +++ b/discovery/workflows-v1beta.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1beta/projects/{projectsId}/locations", "httpMethod": "GET", "id": "workflows.projects.locations.list", @@ -455,7 +455,7 @@ } } }, - "revision": "20251203", + "revision": "20260128", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { diff --git a/src/apis/workflows/v1.ts b/src/apis/workflows/v1.ts index 3a596d4d1b..44cf065d62 100644 --- a/src/apis/workflows/v1.ts +++ b/src/apis/workflows/v1.ts @@ -535,7 +535,7 @@ export namespace workflows_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: diff --git a/src/apis/workflows/v1beta.ts b/src/apis/workflows/v1beta.ts index 1e277e3f94..ee62b3ff59 100644 --- a/src/apis/workflows/v1beta.ts +++ b/src/apis/workflows/v1beta.ts @@ -473,7 +473,7 @@ export namespace workflows_v1beta { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From 816ed35f7b5836fefba337bc6a6787808fe586ea Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:54 +0000 Subject: [PATCH 38/42] fix(workloadmanager): update the API #### workloadmanager:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/workloadmanager-v1.json | 4 ++-- src/apis/workloadmanager/v1.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/discovery/workloadmanager-v1.json b/discovery/workloadmanager-v1.json index 7eed738a0d..1543df6754 100644 --- a/discovery/workloadmanager-v1.json +++ b/discovery/workloadmanager-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "workloadmanager.projects.locations.list", @@ -979,7 +979,7 @@ } } }, - "revision": "20260121", + "revision": "20260128", "rootUrl": "https://workloadmanager.googleapis.com/", "schemas": { "AgentCommand": { diff --git a/src/apis/workloadmanager/v1.ts b/src/apis/workloadmanager/v1.ts index a7ae070f72..9bac70f0c7 100644 --- a/src/apis/workloadmanager/v1.ts +++ b/src/apis/workloadmanager/v1.ts @@ -2010,7 +2010,7 @@ export namespace workloadmanager_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From a4db0603073a22367c9d0c3c2c10e59a0e4b1b69 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:54 +0000 Subject: [PATCH 39/42] fix(workstations): update the API #### workstations:v1 The following keys were changed: - resources.projects.resources.locations.methods.list.description --- discovery/workstations-v1.json | 4 ++-- src/apis/workstations/v1.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/discovery/workstations-v1.json b/discovery/workstations-v1.json index 35c42b5f81..5a13020bfb 100644 --- a/discovery/workstations-v1.json +++ b/discovery/workstations-v1.json @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "workstations.projects.locations.list", @@ -1221,7 +1221,7 @@ } } }, - "revision": "20260113", + "revision": "20260126", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { diff --git a/src/apis/workstations/v1.ts b/src/apis/workstations/v1.ts index 666c8e92bd..01fb066e9e 100644 --- a/src/apis/workstations/v1.ts +++ b/src/apis/workstations/v1.ts @@ -1328,7 +1328,7 @@ export namespace workstations_v1 { } /** - * Lists information about the supported locations for this service. + * Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id\}/locations`. This may include public locations as well as private or other locations specifically visible to the project. * @example * ```js * // Before running the sample: From c1d476582e0d304af15f959a9a78bc0ded58e9f8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:54 +0000 Subject: [PATCH 40/42] feat(youtube): update the API #### youtube:v3 The following keys were added: - schemas.LiveChatGiftDetails.description - schemas.LiveChatGiftDetails.id - schemas.LiveChatGiftDetails.properties.altText.description - schemas.LiveChatGiftDetails.properties.altText.type - schemas.LiveChatGiftDetails.properties.comboCount.description - schemas.LiveChatGiftDetails.properties.comboCount.format - schemas.LiveChatGiftDetails.properties.comboCount.type - schemas.LiveChatGiftDetails.properties.giftDuration.description - schemas.LiveChatGiftDetails.properties.giftDuration.format - schemas.LiveChatGiftDetails.properties.giftDuration.type - schemas.LiveChatGiftDetails.properties.giftName.description - schemas.LiveChatGiftDetails.properties.giftName.type - schemas.LiveChatGiftDetails.properties.giftUrl.description - schemas.LiveChatGiftDetails.properties.giftUrl.type - schemas.LiveChatGiftDetails.properties.hasVisualEffect.description - schemas.LiveChatGiftDetails.properties.hasVisualEffect.type - schemas.LiveChatGiftDetails.properties.jewelsCount.description - schemas.LiveChatGiftDetails.properties.jewelsCount.format - schemas.LiveChatGiftDetails.properties.jewelsCount.type - schemas.LiveChatGiftDetails.properties.language.description - schemas.LiveChatGiftDetails.properties.language.type - schemas.LiveChatGiftDetails.type - schemas.LiveChatMessageSnippet.properties.giftDetails.$ref - schemas.LiveChatMessageSnippet.properties.giftDetails.description The following keys were changed: - schemas.LiveChatMessageSnippet.description - schemas.LiveChatMessageSnippet.properties.type.enum - schemas.LiveChatMessageSnippet.properties.type.enumDescriptions --- discovery/youtube-v3.json | 56 ++++++++++++++++++++++++++++++++++++--- src/apis/youtube/v3.ts | 43 +++++++++++++++++++++++++++++- 2 files changed, 94 insertions(+), 5 deletions(-) diff --git a/discovery/youtube-v3.json b/discovery/youtube-v3.json index 84d5b5277b..4aaa6f9d6a 100644 --- a/discovery/youtube-v3.json +++ b/discovery/youtube-v3.json @@ -4172,7 +4172,7 @@ } } }, - "revision": "20260112", + "revision": "20260205", "rootUrl": "https://youtube.googleapis.com/", "schemas": { "AbuseReport": { @@ -8802,6 +8802,48 @@ }, "type": "object" }, + "LiveChatGiftDetails": { + "description": "Details about the gift event, this is only set if the type is 'giftEvent'.", + "id": "LiveChatGiftDetails", + "properties": { + "altText": { + "description": "The alternative text to be used for accessibility.", + "type": "string" + }, + "comboCount": { + "description": "The number of times the gift has been sent in a row.", + "format": "int32", + "type": "integer" + }, + "giftDuration": { + "description": "The duration of the gift.", + "format": "google-duration", + "type": "string" + }, + "giftName": { + "description": "The name of the gift.", + "type": "string" + }, + "giftUrl": { + "description": "The URL of the gift image.", + "type": "string" + }, + "hasVisualEffect": { + "description": "Whether the gift involves a visual effect.", + "type": "boolean" + }, + "jewelsCount": { + "description": "The cost of the gift in jewels.", + "format": "int32", + "type": "integer" + }, + "language": { + "description": "The BCP-47 language code of the gift.", + "type": "string" + } + }, + "type": "object" + }, "LiveChatGiftMembershipReceivedDetails": { "id": "LiveChatGiftMembershipReceivedDetails", "properties": { @@ -8995,7 +9037,7 @@ "type": "object" }, "LiveChatMessageSnippet": { - "description": "Next ID: 34", + "description": "Next ID: 35", "id": "LiveChatMessageSnippet", "properties": { "authorChannelId": { @@ -9011,6 +9053,10 @@ "deprecated": true, "description": "Details about the funding event, this is only set if the type is 'fanFundingEvent'." }, + "giftDetails": { + "$ref": "LiveChatGiftDetails", + "description": "Details about the gift event, this is only set if the type is 'giftEvent'." + }, "giftMembershipReceivedDetails": { "$ref": "LiveChatGiftMembershipReceivedDetails", "description": "Details about the Gift Membership Received event, this is only set if the type is 'giftMembershipReceivedEvent'." @@ -9080,7 +9126,8 @@ "userBannedEvent", "superChatEvent", "superStickerEvent", - "pollEvent" + "pollEvent", + "giftEvent" ], "enumDescriptions": [ "", @@ -9099,7 +9146,8 @@ "", "", "", - "" + "", + "A virtual gift sent by a viewer to support a creator." ], "type": "string" }, diff --git a/src/apis/youtube/v3.ts b/src/apis/youtube/v3.ts index 0e86a6ddba..28c205dc67 100644 --- a/src/apis/youtube/v3.ts +++ b/src/apis/youtube/v3.ts @@ -2347,6 +2347,43 @@ export namespace youtube_v3 { */ userComment?: string | null; } + /** + * Details about the gift event, this is only set if the type is 'giftEvent'. + */ + export interface Schema$LiveChatGiftDetails { + /** + * The alternative text to be used for accessibility. + */ + altText?: string | null; + /** + * The number of times the gift has been sent in a row. + */ + comboCount?: number | null; + /** + * The duration of the gift. + */ + giftDuration?: string | null; + /** + * The name of the gift. + */ + giftName?: string | null; + /** + * The URL of the gift image. + */ + giftUrl?: string | null; + /** + * Whether the gift involves a visual effect. + */ + hasVisualEffect?: boolean | null; + /** + * The cost of the gift in jewels. + */ + jewelsCount?: number | null; + /** + * The BCP-47 language code of the gift. + */ + language?: string | null; + } export interface Schema$LiveChatGiftMembershipReceivedDetails { /** * The ID of the membership gifting message that is related to this gift membership. This ID will always refer to a message whose type is 'membershipGiftingEvent'. @@ -2488,7 +2525,7 @@ export namespace youtube_v3 { retractedMessageId?: string | null; } /** - * Next ID: 34 + * Next ID: 35 */ export interface Schema$LiveChatMessageSnippet { /** @@ -2503,6 +2540,10 @@ export namespace youtube_v3 { * Details about the funding event, this is only set if the type is 'fanFundingEvent'. */ fanFundingEventDetails?: Schema$LiveChatFanFundingEventDetails; + /** + * Details about the gift event, this is only set if the type is 'giftEvent'. + */ + giftDetails?: Schema$LiveChatGiftDetails; /** * Details about the Gift Membership Received event, this is only set if the type is 'giftMembershipReceivedEvent'. */ From 82ce7c1f9bdf8f8028a3bdfd3b2220d7620cc9e3 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Sun, 8 Feb 2026 01:39:54 +0000 Subject: [PATCH 41/42] feat: regenerate index files --- discovery/apigee-v1.json | 101 ++++++++++++++++++++++++++++--- discovery/datastore-v1.json | 22 ++++++- discovery/datastore-v1beta1.json | 22 ++++++- discovery/datastore-v1beta3.json | 22 ++++++- discovery/index.json | 30 +++++++++ src/apis/index.ts | 3 + src/index.ts | 2 + 7 files changed, 192 insertions(+), 10 deletions(-) diff --git a/discovery/apigee-v1.json b/discovery/apigee-v1.json index c714b44daf..62ffa2cd48 100644 --- a/discovery/apigee-v1.json +++ b/discovery/apigee-v1.json @@ -11914,9 +11914,84 @@ } } }, - "revision": "20260106", + "revision": "20260130", "rootUrl": "https://apigee.googleapis.com/", "schemas": { + "ApiservingMcpMcpToolDataHandlingProfile": { + "description": "Profile describing the data handling characteristics of an MCP tool. When used within the McpTool.meta field, this message should be packed into a google.protobuf.Any and associated with the key: \"google.com/tool.profiles/data_handling\"", + "id": "ApiservingMcpMcpToolDataHandlingProfile", + "properties": { + "inputDataAccessLevel": { + "description": "// The data access level of the tool's inputs.", + "enum": [ + "DATA_ACCESS_LEVEL_UNSPECIFIED", + "DATA_ACCESS_LEVEL_PUBLIC", + "DATA_ACCESS_LEVEL_CONFIDENTIAL", + "DATA_ACCESS_LEVEL_NEED_TO_KNOW", + "DATA_ACCESS_LEVEL_PII", + "DATA_ACCESS_LEVEL_USER", + "DATA_ACCESS_LEVEL_NO_DATA_ACCESS" + ], + "enumDescriptions": [ + "The default value. This value is unused.", + "Public data.", + "Confidential data.", + "Need-to-know data.", + "Personally Identifiable Information (PII) data.", + "User data.", + "The tool does not access any data." + ], + "type": "string" + }, + "outputDataAccessLevel": { + "description": "The data access level of the tool's outputs.", + "enum": [ + "DATA_ACCESS_LEVEL_UNSPECIFIED", + "DATA_ACCESS_LEVEL_PUBLIC", + "DATA_ACCESS_LEVEL_CONFIDENTIAL", + "DATA_ACCESS_LEVEL_NEED_TO_KNOW", + "DATA_ACCESS_LEVEL_PII", + "DATA_ACCESS_LEVEL_USER", + "DATA_ACCESS_LEVEL_NO_DATA_ACCESS" + ], + "enumDescriptions": [ + "The default value. This value is unused.", + "Public data.", + "Confidential data.", + "Need-to-know data.", + "Personally Identifiable Information (PII) data.", + "User data.", + "The tool does not access any data." + ], + "type": "string" + } + }, + "type": "object" + }, + "ApiservingMcpMcpToolLifecycleProfile": { + "description": "Profile describing the lifecycle stage of an MCP tool. When used within the McpTool.meta field, this message should be packed into a google.protobuf.Any and associated with the key: \"google.com/tool.profiles/lifecycle\"", + "id": "ApiservingMcpMcpToolLifecycleProfile", + "properties": { + "launchState": { + "description": "Output only. The current launch state of the MCP tool.", + "enum": [ + "LAUNCH_STATE_UNSPECIFIED", + "LAUNCH_STATE_DEVELOPMENT", + "LAUNCH_STATE_PRODUCTION_PREVIEW", + "LAUNCH_STATE_GENERAL_AVAILABILITY" + ], + "enumDescriptions": [ + "The default value. This value is unused.", + "The tool is currently in development.", + "The tool is in production preview.", + "The tool is generally available." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "EdgeConfigstoreBundleBadBundle": { "description": "Describes why a bundle is invalid. Intended for use in error details.", "id": "EdgeConfigstoreBundleBadBundle", @@ -19075,7 +19150,7 @@ "type": "object" }, "GoogleCloudApigeeV1RuntimeTraceConfig": { - "description": "NEXT ID: 8 RuntimeTraceConfig defines the configurations for distributed trace in an environment.", + "description": "NEXT ID: 9 RuntimeTraceConfig defines the configurations for distributed trace in an environment.", "id": "GoogleCloudApigeeV1RuntimeTraceConfig", "properties": { "endpoint": { @@ -19087,12 +19162,14 @@ "enum": [ "EXPORTER_UNSPECIFIED", "JAEGER", - "CLOUD_TRACE" + "CLOUD_TRACE", + "OPEN_TELEMETRY_COLLECTOR" ], "enumDescriptions": [ "Exporter unspecified", "Jaeger exporter", - "Cloudtrace exporter" + "Cloudtrace exporter", + "Open Telemetry Collector" ], "type": "string" }, @@ -19100,6 +19177,10 @@ "description": "Name of the trace config in the following format: `organizations/{org}/environment/{env}/traceConfig`", "type": "string" }, + "openTelemetryProtocolEnabled": { + "description": "If `true`, the runtime uses OpenTelemetry Protocol (OTLP) to send trace data. Configuration Requirements (if `open_telemetry_protocol_enabled` is `true`): - Allowed `Exporter`s: `CLOUD_TRACE` or `OPEN_TELEMETRY_COLLECTOR`. - If `Exporter` is `OPEN_TELEMETRY_COLLECTOR`: - `endpoint` refers to a valid OTLP collector URL. - If `Exporter` is `CLOUD_TRACE`: - `endpoint` refers to a valid project ID", + "type": "boolean" + }, "overrides": { "description": "List of trace configuration overrides for spicific API proxies.", "items": { @@ -19124,7 +19205,7 @@ "type": "object" }, "GoogleCloudApigeeV1RuntimeTraceConfigOverride": { - "description": "NEXT ID: 7 Trace configuration override for a specific API proxy in an environment.", + "description": "NEXT ID: 8 Trace configuration override for a specific API proxy in an environment.", "id": "GoogleCloudApigeeV1RuntimeTraceConfigOverride", "properties": { "apiProxy": { @@ -19135,6 +19216,10 @@ "description": "Name of the trace config override in the following format: `organizations/{org}/environment/{env}/traceConfig/overrides/{override}`", "type": "string" }, + "openTelemetryProtocolEnabled": { + "description": "If `true`, the runtime uses OpenTelemetry Protocol (OTLP) to send trace data. Configuration Requirements (if `open_telemetry_protocol_enabled` is `true`): - Allowed `Exporter`s: `CLOUD_TRACE` or `OPEN_TELEMETRY_COLLECTOR`. - If `Exporter` is `OPEN_TELEMETRY_COLLECTOR`: - `endpoint` refers to a valid OTLP collector URL. - If `Exporter` is `CLOUD_TRACE`: - `endpoint` refers to a valid project ID", + "type": "boolean" + }, "revisionCreateTime": { "description": "The timestamp that the revision was created or updated.", "format": "google-datetime", @@ -21094,12 +21179,14 @@ "enum": [ "EXPORTER_UNSPECIFIED", "JAEGER", - "CLOUD_TRACE" + "CLOUD_TRACE", + "OPEN_TELEMETRY_COLLECTOR" ], "enumDescriptions": [ "Exporter unspecified", "Jaeger exporter", - "Cloudtrace exporter" + "Cloudtrace exporter", + "Open Telemetry Collector" ], "type": "string" }, diff --git a/discovery/datastore-v1.json b/discovery/datastore-v1.json index f1939fd5a3..3fd8cd562b 100644 --- a/discovery/datastore-v1.json +++ b/discovery/datastore-v1.json @@ -68,6 +68,11 @@ "endpointUrl": "https://datastore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datastore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datastore.australia-southeast1.rep.googleapis.com/", @@ -113,6 +118,11 @@ "endpointUrl": "https://datastore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datastore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datastore.europe-west2.rep.googleapis.com/", @@ -278,6 +288,11 @@ "endpointUrl": "https://batch-datastore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-datastore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-datastore.australia-southeast1.rep.googleapis.com/", @@ -323,6 +338,11 @@ "endpointUrl": "https://batch-datastore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-datastore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-datastore.europe-west2.rep.googleapis.com/", @@ -1101,7 +1121,7 @@ } } }, - "revision": "20260105", + "revision": "20260130", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { diff --git a/discovery/datastore-v1beta1.json b/discovery/datastore-v1beta1.json index cc3d0d5de0..dc78511b38 100644 --- a/discovery/datastore-v1beta1.json +++ b/discovery/datastore-v1beta1.json @@ -68,6 +68,11 @@ "endpointUrl": "https://datastore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datastore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datastore.australia-southeast1.rep.googleapis.com/", @@ -113,6 +118,11 @@ "endpointUrl": "https://datastore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datastore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datastore.europe-west2.rep.googleapis.com/", @@ -278,6 +288,11 @@ "endpointUrl": "https://batch-datastore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-datastore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-datastore.australia-southeast1.rep.googleapis.com/", @@ -323,6 +338,11 @@ "endpointUrl": "https://batch-datastore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-datastore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-datastore.europe-west2.rep.googleapis.com/", @@ -610,7 +630,7 @@ } } }, - "revision": "20260105", + "revision": "20260130", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "GoogleDatastoreAdminV1CommonMetadata": { diff --git a/discovery/datastore-v1beta3.json b/discovery/datastore-v1beta3.json index e0a763cba6..7a7cb841bf 100644 --- a/discovery/datastore-v1beta3.json +++ b/discovery/datastore-v1beta3.json @@ -68,6 +68,11 @@ "endpointUrl": "https://datastore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datastore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datastore.australia-southeast1.rep.googleapis.com/", @@ -113,6 +118,11 @@ "endpointUrl": "https://datastore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datastore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://datastore.europe-west2.rep.googleapis.com/", @@ -278,6 +288,11 @@ "endpointUrl": "https://batch-datastore.asia-southeast2.rep.googleapis.com/", "location": "asia-southeast2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-datastore.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-datastore.australia-southeast1.rep.googleapis.com/", @@ -323,6 +338,11 @@ "endpointUrl": "https://batch-datastore.europe-west12.rep.googleapis.com/", "location": "europe-west12" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://batch-datastore.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, { "description": "Regional Endpoint", "endpointUrl": "https://batch-datastore.europe-west2.rep.googleapis.com/", @@ -778,7 +798,7 @@ } } }, - "revision": "20260105", + "revision": "20260130", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { diff --git a/discovery/index.json b/discovery/index.json index 2e9722d26c..22538311f4 100644 --- a/discovery/index.json +++ b/discovery/index.json @@ -1200,6 +1200,36 @@ "title": "Certificate Manager API", "version": "v1" }, + { + "description": "", + "discoveryRestUrl": "https://ces.googleapis.com/$discovery/rest?version=v1beta", + "documentationLink": "https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "ces:v1beta", + "kind": "discovery#directoryItem", + "name": "ces", + "preferred": false, + "title": "Gemini Enterprise for Customer Experience API", + "version": "v1beta" + }, + { + "description": "", + "discoveryRestUrl": "https://ces.googleapis.com/$discovery/rest?version=v1", + "documentationLink": "https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "ces:v1", + "kind": "discovery#directoryItem", + "name": "ces", + "preferred": true, + "title": "Gemini Enterprise for Customer Experience API", + "version": "v1" + }, { "description": "The Google Chat API lets you build Chat apps to integrate your services with Google Chat and manage Chat resources such as spaces, members, and messages.", "discoveryRestUrl": "https://chat.googleapis.com/$discovery/rest?version=v1", diff --git a/src/apis/index.ts b/src/apis/index.ts index 5d812eaef0..594fb75c8e 100644 --- a/src/apis/index.ts +++ b/src/apis/index.ts @@ -172,6 +172,7 @@ import { VERSIONS as certificatemanagerVersions, certificatemanager, } from './certificatemanager'; +import {VERSIONS as cesVersions, ces} from './ces'; import {VERSIONS as chatVersions, chat} from './chat'; import {VERSIONS as checksVersions, checks} from './checks'; import { @@ -845,6 +846,7 @@ export const APIS: APIList = { businessprofileperformance: businessprofileperformanceVersions, calendar: calendarVersions, certificatemanager: certificatemanagerVersions, + ces: cesVersions, chat: chatVersions, checks: checksVersions, chromemanagement: chromemanagementVersions, @@ -1169,6 +1171,7 @@ export class GeneratedAPIs { businessprofileperformance = businessprofileperformance; calendar = calendar; certificatemanager = certificatemanager; + ces = ces; chat = chat; checks = checks; chromemanagement = chromemanagement; diff --git a/src/index.ts b/src/index.ts index a8ee2c1f5c..a7382cd6c4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -116,6 +116,8 @@ export {books_v1} from './apis/books/v1'; export {businessprofileperformance_v1} from './apis/businessprofileperformance/v1'; export {calendar_v3} from './apis/calendar/v3'; export {certificatemanager_v1} from './apis/certificatemanager/v1'; +export {ces_v1} from './apis/ces/v1'; +export {ces_v1beta} from './apis/ces/v1beta'; export {chat_v1} from './apis/chat/v1'; export {checks_v1alpha} from './apis/checks/v1alpha'; export {chromemanagement_v1} from './apis/chromemanagement/v1'; From fa817d38b177db501c1be710b2fdf219d2ce6c93 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Sun, 8 Feb 2026 01:43:25 +0000 Subject: [PATCH 42/42] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20?= =?UTF-8?q?post-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- release-please-config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release-please-config.json b/release-please-config.json index 3db5793144..d5d0d2073c 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -322,6 +322,7 @@ "src/apis/chromewebstore": {}, "src/apis/appsmarket": {}, "src/apis/threatintelligence": {}, - "src/apis/hypercomputecluster": {} + "src/apis/hypercomputecluster": {}, + "src/apis/ces": {} } } \ No newline at end of file