google-cloud-ces-v1 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/ces/v1/agent_card_pb.rb +26 -0
  3. data/lib/google/cloud/ces/v1/agent_pb.rb +1 -1
  4. data/lib/google/cloud/ces/v1/app_pb.rb +4 -1
  5. data/lib/google/cloud/ces/v1/common_pb.rb +3 -1
  6. data/lib/google/cloud/ces/v1/conversation_pb.rb +1 -1
  7. data/lib/google/cloud/ces/v1/deployment_pb.rb +7 -1
  8. data/lib/google/cloud/ces/v1/mcp_tool_pb.rb +2 -1
  9. data/lib/google/cloud/ces/v1/mcp_toolset_pb.rb +4 -1
  10. data/lib/google/cloud/ces/v1/mocks_pb.rb +26 -0
  11. data/lib/google/cloud/ces/v1/python_function_pb.rb +2 -1
  12. data/lib/google/cloud/ces/v1/session_service_pb.rb +5 -1
  13. data/lib/google/cloud/ces/v1/tool_pb.rb +3 -1
  14. data/lib/google/cloud/ces/v1/tool_service/client.rb +10 -2
  15. data/lib/google/cloud/ces/v1/tool_service/rest/client.rb +10 -2
  16. data/lib/google/cloud/ces/v1/tool_service_pb.rb +3 -1
  17. data/lib/google/cloud/ces/v1/toolset_pb.rb +2 -1
  18. data/lib/google/cloud/ces/v1/version.rb +1 -1
  19. data/lib/google/cloud/ces/v1/widget_tool_pb.rb +3 -1
  20. data/proto_docs/google/cloud/ces/v1/agent.rb +9 -0
  21. data/proto_docs/google/cloud/ces/v1/agent_card.rb +122 -0
  22. data/proto_docs/google/cloud/ces/v1/app.rb +108 -7
  23. data/proto_docs/google/cloud/ces/v1/common.rb +57 -0
  24. data/proto_docs/google/cloud/ces/v1/conversation.rb +13 -6
  25. data/proto_docs/google/cloud/ces/v1/deployment.rb +105 -0
  26. data/proto_docs/google/cloud/ces/v1/mcp_tool.rb +25 -0
  27. data/proto_docs/google/cloud/ces/v1/mcp_toolset.rb +47 -0
  28. data/proto_docs/google/cloud/ces/v1/mocks.rb +60 -0
  29. data/proto_docs/google/cloud/ces/v1/python_function.rb +3 -0
  30. data/proto_docs/google/cloud/ces/v1/session_service.rb +32 -0
  31. data/proto_docs/google/cloud/ces/v1/tool.rb +21 -11
  32. data/proto_docs/google/cloud/ces/v1/tool_service.rb +17 -0
  33. data/proto_docs/google/cloud/ces/v1/toolset.rb +5 -0
  34. data/proto_docs/google/cloud/ces/v1/widget_tool.rb +36 -0
  35. metadata +5 -1
@@ -10,7 +10,7 @@ require 'google/cloud/ces/v1/schema_pb'
10
10
  require 'google/protobuf/struct_pb'
11
11
 
12
12
 
13
- descriptor_data = "\n%google/cloud/ces/v1/widget_tool.proto\x12\x13google.cloud.ces.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a)google/cloud/ces/v1/python_function.proto\x1a google/cloud/ces/v1/schema.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x91\x08\n\nWidgetTool\x12\x36\n\nparameters\x18\x04 \x01(\x0b\x32\x1b.google.cloud.ces.v1.SchemaB\x03\xe0\x41\x01H\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x44\n\x0bwidget_type\x18\x03 \x01(\x0e\x32*.google.cloud.ces.v1.WidgetTool.WidgetTypeB\x03\xe0\x41\x01\x12/\n\tui_config\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12\x46\n\x0c\x64\x61ta_mapping\x18\x06 \x01(\x0b\x32+.google.cloud.ces.v1.WidgetTool.DataMappingB\x03\xe0\x41\x01\x1a\xa6\x03\n\x0b\x44\x61taMapping\x12\x1d\n\x10source_tool_name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12[\n\x0e\x66ield_mappings\x18\x02 \x03(\x0b\x32>.google.cloud.ces.v1.WidgetTool.DataMapping.FieldMappingsEntryB\x03\xe0\x41\x01\x12\x41\n\x0fpython_function\x18\x05 \x01(\x0b\x32#.google.cloud.ces.v1.PythonFunctionB\x03\xe0\x41\x01\x12\x43\n\x04mode\x18\x04 \x01(\x0e\x32\x30.google.cloud.ces.v1.WidgetTool.DataMapping.ModeB\x03\xe0\x41\x01\x12\x19\n\rpython_script\x18\x03 \x01(\tB\x02\x18\x01\x1a\x34\n\x12\x46ieldMappingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x11\n\rFIELD_MAPPING\x10\x01\x12\x11\n\rPYTHON_SCRIPT\x10\x02\"\xac\x02\n\nWidgetType\x12\x1b\n\x17WIDGET_TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x14\n\x10PRODUCT_CAROUSEL\x10\x02\x12\x13\n\x0fPRODUCT_DETAILS\x10\x03\x12\x11\n\rQUICK_ACTIONS\x10\x04\x12\x16\n\x12PRODUCT_COMPARISON\x10\x05\x12\x1c\n\x18\x41\x44VANCED_PRODUCT_DETAILS\x10\x06\x12\x0e\n\nSHORT_FORM\x10\x07\x12\x18\n\x14OVERALL_SATISFACTION\x10\x08\x12\x11\n\rORDER_SUMMARY\x10\t\x12\x17\n\x13\x41PPOINTMENT_DETAILS\x10\n\x12\x19\n\x15\x41PPOINTMENT_SCHEDULER\x10\x0b\x12\x10\n\x0c\x43ONTACT_FORM\x10\x0c\x42\x07\n\x05inputBW\n\x17\x63om.google.cloud.ces.v1B\x0fWidgetToolProtoP\x01Z)cloud.google.com/go/ces/apiv1/cespb;cespbb\x06proto3"
13
+ descriptor_data = "\n%google/cloud/ces/v1/widget_tool.proto\x12\x13google.cloud.ces.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a)google/cloud/ces/v1/python_function.proto\x1a google/cloud/ces/v1/schema.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xd4\n\n\nWidgetTool\x12\x36\n\nparameters\x18\x04 \x01(\x0b\x32\x1b.google.cloud.ces.v1.SchemaB\x03\xe0\x41\x01H\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x44\n\x0bwidget_type\x18\x03 \x01(\x0e\x32*.google.cloud.ces.v1.WidgetTool.WidgetTypeB\x03\xe0\x41\x01\x12/\n\tui_config\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x01\x12\x46\n\x0c\x64\x61ta_mapping\x18\x06 \x01(\x0b\x32+.google.cloud.ces.v1.WidgetTool.DataMappingB\x03\xe0\x41\x01\x12U\n\x14text_response_config\x18\x07 \x01(\x0b\x32\x32.google.cloud.ces.v1.WidgetTool.TextResponseConfigB\x03\xe0\x41\x01\x1a\xe9\x01\n\x12TextResponseConfig\x12J\n\x04type\x18\x01 \x01(\x0e\x32\x37.google.cloud.ces.v1.WidgetTool.TextResponseConfig.TypeB\x03\xe0\x41\x01\x12\x18\n\x0bstatic_text\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12&\n\x19text_response_instruction\x18\x03 \x01(\tB\x03\xe0\x41\x01\"E\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x11\n\rLLM_GENERATED\x10\x02\x12\n\n\x06STATIC\x10\x03\x1a\xa6\x03\n\x0b\x44\x61taMapping\x12\x1d\n\x10source_tool_name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12[\n\x0e\x66ield_mappings\x18\x02 \x03(\x0b\x32>.google.cloud.ces.v1.WidgetTool.DataMapping.FieldMappingsEntryB\x03\xe0\x41\x01\x12\x41\n\x0fpython_function\x18\x05 \x01(\x0b\x32#.google.cloud.ces.v1.PythonFunctionB\x03\xe0\x41\x01\x12\x43\n\x04mode\x18\x04 \x01(\x0e\x32\x30.google.cloud.ces.v1.WidgetTool.DataMapping.ModeB\x03\xe0\x41\x01\x12\x19\n\rpython_script\x18\x03 \x01(\tB\x02\x18\x01\x1a\x34\n\x12\x46ieldMappingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"B\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x11\n\rFIELD_MAPPING\x10\x01\x12\x11\n\rPYTHON_SCRIPT\x10\x02\"\xac\x02\n\nWidgetType\x12\x1b\n\x17WIDGET_TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x14\n\x10PRODUCT_CAROUSEL\x10\x02\x12\x13\n\x0fPRODUCT_DETAILS\x10\x03\x12\x11\n\rQUICK_ACTIONS\x10\x04\x12\x16\n\x12PRODUCT_COMPARISON\x10\x05\x12\x1c\n\x18\x41\x44VANCED_PRODUCT_DETAILS\x10\x06\x12\x0e\n\nSHORT_FORM\x10\x07\x12\x18\n\x14OVERALL_SATISFACTION\x10\x08\x12\x11\n\rORDER_SUMMARY\x10\t\x12\x17\n\x13\x41PPOINTMENT_DETAILS\x10\n\x12\x19\n\x15\x41PPOINTMENT_SCHEDULER\x10\x0b\x12\x10\n\x0c\x43ONTACT_FORM\x10\x0c\x42\x07\n\x05inputBW\n\x17\x63om.google.cloud.ces.v1B\x0fWidgetToolProtoP\x01Z)cloud.google.com/go/ces/apiv1/cespb;cespbb\x06proto3"
14
14
 
15
15
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
16
16
  pool.add_serialized_file(descriptor_data)
@@ -20,6 +20,8 @@ module Google
20
20
  module Ces
21
21
  module V1
22
22
  WidgetTool = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.ces.v1.WidgetTool").msgclass
23
+ WidgetTool::TextResponseConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.ces.v1.WidgetTool.TextResponseConfig").msgclass
24
+ WidgetTool::TextResponseConfig::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.ces.v1.WidgetTool.TextResponseConfig.Type").enummodule
23
25
  WidgetTool::DataMapping = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.ces.v1.WidgetTool.DataMapping").msgclass
24
26
  WidgetTool::DataMapping::Mode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.ces.v1.WidgetTool.DataMapping.Mode").enummodule
25
27
  WidgetTool::WidgetType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.ces.v1.WidgetTool.WidgetType").enummodule
@@ -131,6 +131,10 @@ module Google
131
131
  # @return [::Array<::Google::Cloud::Ces::V1::TransferRule>]
132
132
  # Optional. Agent transfer rules.
133
133
  # If multiple rules match, the first one in the list will be used.
134
+ # @!attribute [r] validation_errors
135
+ # @return [::Array<::String>]
136
+ # Output only. Misconfigurations or errors in the agent that may affect agent
137
+ # quality.
134
138
  class Agent
135
139
  include ::Google::Protobuf::MessageExts
136
140
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -181,6 +185,11 @@ module Google
181
185
  # [`allow_playback_interruption`](https://docs.cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#text)
182
186
  # set to true will be interruptable, all other messages follow the
183
187
  # app-level barge-in settings.
188
+ # @!attribute [rw] language_code_variable
189
+ # @return [::String]
190
+ # Optional. The name of the variable that contains the language code to be
191
+ # used for the Dialogflow session. If unspecified, the default language
192
+ # code of the Dialogflow agent will be used.
184
193
  class RemoteDialogflowAgent
185
194
  include ::Google::Protobuf::MessageExts
186
195
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Ces
23
+ module V1
24
+ # AgentCard conveys key information about a remote agent.
25
+ # It is a trimmed version of the AgentCard defined in the A2A protocol
26
+ # https://a2a-protocol.org/dev/specification/#441-agentcard
27
+ # @!attribute [rw] name
28
+ # @return [::String]
29
+ # Required. A human-readable name for the agent.
30
+ # @!attribute [rw] description
31
+ # @return [::String]
32
+ # Required. A description of the agent's domain of action/solution space.
33
+ # @!attribute [rw] supported_interfaces
34
+ # @return [::Array<::Google::Cloud::Ces::V1::AgentInterface>]
35
+ # Required. Ordered list of supported interfaces. The first entry is
36
+ # preferred.
37
+ # @!attribute [rw] version
38
+ # @return [::String]
39
+ # Required. The version of the agent.
40
+ # @!attribute [rw] skills
41
+ # @return [::Array<::Google::Cloud::Ces::V1::AgentSkill>]
42
+ # Required. Skills represent a unit of ability an agent can perform. This may
43
+ # somewhat abstract but represents a more focused set of actions that the
44
+ # agent is highly likely to succeed at.
45
+ class AgentCard
46
+ include ::Google::Protobuf::MessageExts
47
+ extend ::Google::Protobuf::MessageExts::ClassMethods
48
+ end
49
+
50
+ # Declares a combination of a target URL, transport and protocol version for
51
+ # interacting with the agent. This allows agents to expose the same
52
+ # functionality over multiple protocol binding mechanisms.
53
+ # @!attribute [rw] url
54
+ # @return [::String]
55
+ # Required. The URL where this interface is available. Must be a valid
56
+ # absolute HTTPS URL in production. Example:
57
+ # "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"
58
+ # @!attribute [rw] protocol_binding
59
+ # @return [::String]
60
+ # Required. The protocol binding supported at this URL. This is an open form
61
+ # string, to be easily extended for other protocol bindings. The core ones
62
+ # officially supported are `JSONRPC`, `GRPC` and `HTTP+JSON`.
63
+ # @!attribute [rw] tenant
64
+ # @return [::String]
65
+ # Tenant ID to be used in the request when calling the agent.
66
+ # @!attribute [rw] protocol_version
67
+ # @return [::String]
68
+ # Required. The version of the A2A protocol this interface exposes.
69
+ # Use the latest supported minor version per major version.
70
+ # Examples: "0.3", "1.0"
71
+ class AgentInterface
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
+ end
75
+
76
+ # Represents a distinct capability or function that an agent can perform.
77
+ # @!attribute [rw] id
78
+ # @return [::String]
79
+ # Required. A unique identifier for the agent's skill.
80
+ # @!attribute [rw] name
81
+ # @return [::String]
82
+ # Required. A human-readable name for the skill.
83
+ # @!attribute [rw] description
84
+ # @return [::String]
85
+ # Required. A detailed description of the skill.
86
+ # @!attribute [rw] tags
87
+ # @return [::Array<::String>]
88
+ # Required. A set of keywords describing the skill's capabilities.
89
+ # @!attribute [rw] examples
90
+ # @return [::Array<::String>]
91
+ # Example prompts or scenarios that this skill can handle.
92
+ # @!attribute [rw] input_modes
93
+ # @return [::Array<::String>]
94
+ # The set of supported input media types for this skill, overriding the
95
+ # agent's defaults.
96
+ # @!attribute [rw] output_modes
97
+ # @return [::Array<::String>]
98
+ # The set of supported output media types for this skill, overriding the
99
+ # agent's defaults.
100
+ class AgentSkill
101
+ include ::Google::Protobuf::MessageExts
102
+ extend ::Google::Protobuf::MessageExts::ClassMethods
103
+ end
104
+
105
+ # Represents a tool that allows the agent to call another remote agent.
106
+ # @!attribute [rw] name
107
+ # @return [::String]
108
+ # Required. The name of the tool.
109
+ # @!attribute [rw] description
110
+ # @return [::String]
111
+ # Required. The description of the tool.
112
+ # @!attribute [rw] agent_card
113
+ # @return [::Google::Cloud::Ces::V1::AgentCard]
114
+ # Required. The agent card of the remote agent that this tool invokes.
115
+ class RemoteAgentTool
116
+ include ::Google::Protobuf::MessageExts
117
+ extend ::Google::Protobuf::MessageExts::ClassMethods
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
@@ -112,10 +112,16 @@ module Google
112
112
  # @!attribute [rw] client_certificate_settings
113
113
  # @return [::Google::Cloud::Ces::V1::ClientCertificateSettings]
114
114
  # Optional. The default client certificate settings for the app.
115
+ # @!attribute [rw] vpc_sc_settings
116
+ # @return [::Google::Cloud::Ces::V1::VpcScSettings]
117
+ # Optional. VPC-SC settings for the app.
115
118
  # @!attribute [rw] locked
116
119
  # @return [::Boolean]
117
120
  # Optional. Indicates whether the app is locked for changes. If the app is
118
121
  # locked, modifications to the app resources will be rejected.
122
+ # @!attribute [r] validation_errors
123
+ # @return [::Array<::String>]
124
+ # Output only. Misconfigurations or warnings in the app.
119
125
  class App
120
126
  include ::Google::Protobuf::MessageExts
121
127
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -321,12 +327,12 @@ module Google
321
327
  # @!attribute [rw] disable_barge_in
322
328
  # @deprecated This field is deprecated and may be removed in the next major version update.
323
329
  # @return [::Boolean]
324
- # Optional. Disables user barge-in while the agent is speaking. If true, user
325
- # input during agent response playback will be ignored.
326
- #
327
- # Deprecated: `disable_barge_in` is deprecated in favor of
330
+ # Optional. Deprecated: `disable_barge_in` is deprecated in favor of
328
331
  # {::Google::Cloud::Ces::V1::ChannelProfile#disable_barge_in_control `disable_barge_in_control`}
329
332
  # in ChannelProfile.
333
+ #
334
+ # Disables user barge-in while the agent is speaking. If true, user input
335
+ # during agent response playback will be ignored.
330
336
  # @!attribute [rw] barge_in_awareness
331
337
  # @return [::Boolean]
332
338
  # Optional. If enabled, the agent will adapt its next response based on the
@@ -347,12 +353,30 @@ module Google
347
353
  # For the list of available voices, please refer to [Supported voices and
348
354
  # languages](https://cloud.google.com/text-to-speech/docs/voices) from Cloud
349
355
  # Text-to-Speech.
356
+ # @!attribute [rw] voice_sample_gcs_uri
357
+ # @return [::String]
358
+ # Optional. The Cloud Storage URI to the audio sample for voice cloning. The
359
+ # audio sample should be a mono-channel, 24kHz WAV file.
360
+ #
361
+ # Note: Please make sure the CES service agent
362
+ # `service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com` has
363
+ # `storage.objects.get` permission to the Cloud Storage object.
350
364
  # @!attribute [rw] speaking_rate
351
365
  # @return [::Float]
352
366
  # Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the
353
367
  # normal native speed supported by the specific voice. 2.0 is twice as fast,
354
368
  # and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will
355
369
  # return an error.
370
+ # @!attribute [rw] model
371
+ # @return [::String]
372
+ # Optional. The model used to synthesize audio.
373
+ # Currently supported values:
374
+ # - "gemini-3.1-flash-tts-preview"
375
+ # If empty, Chirp3-HD is used.
376
+ # @!attribute [rw] instruction
377
+ # @return [::String]
378
+ # Optional. The instruction used to synthesize speech when using a generative
379
+ # model.
356
380
  class SynthesizeSpeechConfig
357
381
  include ::Google::Protobuf::MessageExts
358
382
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -376,11 +400,25 @@ module Google
376
400
  # Optional. Configuration for how sensitive data should be redacted.
377
401
  # @!attribute [rw] audio_recording_config
378
402
  # @return [::Google::Cloud::Ces::V1::AudioRecordingConfig]
379
- # Optional. Configuration for how audio interactions should be recorded.
403
+ # Optional. Configuration for how audio interactions should be recorded. The
404
+ # audio is subject to redaction as configured in
405
+ # {::Google::Cloud::Ces::V1::LoggingSettings#redaction_config RedactionConfig}.
406
+ # @!attribute [rw] unredacted_audio_recording_config
407
+ # @return [::Google::Cloud::Ces::V1::AudioRecordingConfig]
408
+ # Optional. Configures an additional recording of unredacted audio. This can
409
+ # be used to maintain a raw audio copy when audio redaction is
410
+ # {::Google::Cloud::Ces::V1::RedactionConfig#enable_redaction enabled}, typically
411
+ # for auditing or monitoring purposes.
380
412
  # @!attribute [rw] bigquery_export_settings
381
413
  # @return [::Google::Cloud::Ces::V1::BigQueryExportSettings]
382
- # Optional. Settings to describe the BigQuery export behaviors for the app.
383
- # The conversation data will be exported to BigQuery tables if it is enabled.
414
+ # Optional. Configures the BigQuery export behaviors for the app. The
415
+ # conversation data is subject to redaction as configured in
416
+ # {::Google::Cloud::Ces::V1::LoggingSettings#redaction_config RedactionConfig}.
417
+ # @!attribute [rw] unredacted_bigquery_export_settings
418
+ # @return [::Google::Cloud::Ces::V1::BigQueryExportSettings]
419
+ # Optional. Configures the BigQuery export behaviors for the app.
420
+ # The unredacted conversation data will be exported to BigQuery tables if it
421
+ # is enabled.
384
422
  # @!attribute [rw] cloud_logging_settings
385
423
  # @return [::Google::Cloud::Ces::V1::CloudLoggingSettings]
386
424
  # Optional. Settings to describe the Cloud Logging behaviors for the app.
@@ -406,10 +444,56 @@ module Google
406
444
  # @!attribute [rw] error_handling_strategy
407
445
  # @return [::Google::Cloud::Ces::V1::ErrorHandlingSettings::ErrorHandlingStrategy]
408
446
  # Optional. The strategy to use for error handling.
447
+ # @!attribute [rw] fallback_response_config
448
+ # @return [::Google::Cloud::Ces::V1::ErrorHandlingSettings::FallbackResponseConfig]
449
+ # Optional. Configuration for handling fallback responses.
450
+ # @!attribute [rw] end_session_config
451
+ # @return [::Google::Cloud::Ces::V1::ErrorHandlingSettings::EndSessionConfig]
452
+ # Optional. Configuration for ending the session in case of system errors
453
+ # (e.g. LLM errors).
409
454
  class ErrorHandlingSettings
410
455
  include ::Google::Protobuf::MessageExts
411
456
  extend ::Google::Protobuf::MessageExts::ClassMethods
412
457
 
458
+ # Configuration for handling fallback responses.
459
+ # @!attribute [rw] custom_fallback_messages
460
+ # @return [::Google::Protobuf::Map{::String => ::String}]
461
+ # Optional. The fallback messages in case of system errors (e.g. LLM
462
+ # errors), mapped by [supported language
463
+ # code](https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference/language).
464
+ # @!attribute [rw] max_fallback_attempts
465
+ # @return [::Integer]
466
+ # Optional. The maximum number of fallback attempts to make before the
467
+ # agent emitting {::Google::Cloud::Ces::V1::EndSession EndSession} Signal.
468
+ class FallbackResponseConfig
469
+ include ::Google::Protobuf::MessageExts
470
+ extend ::Google::Protobuf::MessageExts::ClassMethods
471
+
472
+ # @!attribute [rw] key
473
+ # @return [::String]
474
+ # @!attribute [rw] value
475
+ # @return [::String]
476
+ class CustomFallbackMessagesEntry
477
+ include ::Google::Protobuf::MessageExts
478
+ extend ::Google::Protobuf::MessageExts::ClassMethods
479
+ end
480
+ end
481
+
482
+ # Configuration for ending the session in case of system errors (e.g. LLM
483
+ # errors).
484
+ # @!attribute [rw] escalate_session
485
+ # @return [::Boolean]
486
+ # Optional. Whether to escalate the session in
487
+ # {::Google::Cloud::Ces::V1::EndSession EndSession}. If session is escalated,
488
+ # {::Google::Cloud::Ces::V1::EndSession#metadata metadata in EndSession} will
489
+ # contain `session_escalated = true`. See
490
+ # https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/deploy/google-telephony-platform#transfer_a_call_to_a_human_agent
491
+ # for details.
492
+ class EndSessionConfig
493
+ include ::Google::Protobuf::MessageExts
494
+ extend ::Google::Protobuf::MessageExts::ClassMethods
495
+ end
496
+
413
497
  # Defines the strategy for handling errors.
414
498
  module ErrorHandlingStrategy
415
499
  # Unspecified error handling strategy.
@@ -563,10 +647,27 @@ module Google
563
647
  extend ::Google::Protobuf::MessageExts::ClassMethods
564
648
  end
565
649
 
650
+ # VPC-SC settings for the app.
651
+ # @!attribute [rw] allowed_origins
652
+ # @return [::Array<::String>]
653
+ # Optional. The allowed HTTP(s) origins that OpenAPI tools in the App are
654
+ # able to directly call when VPC Service Controls are enabled. These strings
655
+ # must match the origin exactly, including the port if specified. For
656
+ # example, "https://example.com" or "https://example.com:443". This list does
657
+ # not yet apply to Python tools that may make direct HTTP calls.
658
+ class VpcScSettings
659
+ include ::Google::Protobuf::MessageExts
660
+ extend ::Google::Protobuf::MessageExts::ClassMethods
661
+ end
662
+
566
663
  # Settings to describe the conversation logging behaviors for the app.
567
664
  # @!attribute [rw] disable_conversation_logging
568
665
  # @return [::Boolean]
569
666
  # Optional. Whether to disable conversation logging for the sessions.
667
+ # @!attribute [rw] retention_window
668
+ # @return [::Google::Protobuf::Duration]
669
+ # Optional. Controls the retention window for the conversation.
670
+ # If not set, the conversation will be retained for 365 days.
570
671
  class ConversationLoggingSettings
571
672
  include ::Google::Protobuf::MessageExts
572
673
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -202,6 +202,12 @@ module Google
202
202
  # @return [::String]
203
203
  # Optional. The noise suppression level of the channel profile.
204
204
  # Available values are "low", "moderate", "high", "very_high".
205
+ # @!attribute [rw] whatsapp_config
206
+ # @return [::Google::Cloud::Ces::V1::ChannelProfile::WhatsAppConfig]
207
+ # Optional. Configuration specific to WhatsApp deployments.
208
+ # @!attribute [rw] instagram_config
209
+ # @return [::Google::Cloud::Ces::V1::ChannelProfile::InstagramConfig]
210
+ # Optional. Configuration specific to Instagram deployments.
205
211
  class ChannelProfile
206
212
  include ::Google::Protobuf::MessageExts
207
213
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -303,6 +309,48 @@ module Google
303
309
  end
304
310
  end
305
311
 
312
+ # Configuration specific to WhatsApp deployments.
313
+ # @!attribute [rw] waba_id
314
+ # @return [::String]
315
+ # Required. The WhatsApp Business Account ID.
316
+ # @!attribute [rw] phone_number_id
317
+ # @return [::String]
318
+ # Required. The Meta phone number ID.
319
+ # @!attribute [rw] phone_number
320
+ # @return [::String]
321
+ # Optional. The phone number in E.164 format.
322
+ # @!attribute [r] display_name
323
+ # @return [::String]
324
+ # Output only. The fetched Meta business page name.
325
+ # @!attribute [r] thumbnail_url
326
+ # @return [::String]
327
+ # Output only. The fetched Meta business profile thumbnail URL.
328
+ # @!attribute [r] description
329
+ # @return [::String]
330
+ # Output only. The description of the Meta business page or profile.
331
+ class WhatsAppConfig
332
+ include ::Google::Protobuf::MessageExts
333
+ extend ::Google::Protobuf::MessageExts::ClassMethods
334
+ end
335
+
336
+ # Configuration specific to Instagram deployments.
337
+ # @!attribute [rw] instagram_account_id
338
+ # @return [::String]
339
+ # Required. The Instagram Account ID.
340
+ # @!attribute [r] display_name
341
+ # @return [::String]
342
+ # Output only. The fetched Meta business page name.
343
+ # @!attribute [r] thumbnail_url
344
+ # @return [::String]
345
+ # Output only. The fetched Meta business profile thumbnail URL.
346
+ # @!attribute [r] description
347
+ # @return [::String]
348
+ # Output only. The description of the Meta business page or profile.
349
+ class InstagramConfig
350
+ include ::Google::Protobuf::MessageExts
351
+ extend ::Google::Protobuf::MessageExts::ClassMethods
352
+ end
353
+
306
354
  # The type of the channel profile.
307
355
  module ChannelType
308
356
  # Unknown channel type.
@@ -323,11 +371,20 @@ module Google
323
371
  # Contact Center as a Service (CCaaS) channel.
324
372
  CONTACT_CENTER_AS_A_SERVICE = 6
325
373
 
374
+ # Contact Center as a Service (CCaaS Chat) channel.
375
+ CONTACT_CENTER_AS_A_SERVICE_CHAT = 11
376
+
326
377
  # Five9 channel.
327
378
  FIVE9 = 7
328
379
 
329
380
  # Third party contact center integration channel.
330
381
  CONTACT_CENTER_INTEGRATION = 8
382
+
383
+ # WhatsApp channel.
384
+ WHATSAPP = 9
385
+
386
+ # Instagram channel.
387
+ INSTAGRAM = 10
331
388
  end
332
389
  end
333
390
 
@@ -120,6 +120,10 @@ module Google
120
120
 
121
121
  # The conversation is from the evaluation.
122
122
  EVAL = 3
123
+
124
+ # The conversation is from an agent tool. Agent tool runs the agent in a
125
+ # separate session, which is persisted for testing and debugging purposes.
126
+ AGENT_TOOL = 4
123
127
  end
124
128
 
125
129
  # Type of the input message.
@@ -127,22 +131,25 @@ module Google
127
131
  # Unspecified input type.
128
132
  INPUT_TYPE_UNSPECIFIED = 0
129
133
 
130
- # The input message is text.
134
+ # Text input.
131
135
  INPUT_TYPE_TEXT = 1
132
136
 
133
- # The input message is audio.
137
+ # Event input.
138
+ INPUT_TYPE_EVENT = 7
139
+
140
+ # Audio input.
134
141
  INPUT_TYPE_AUDIO = 2
135
142
 
136
- # The input message is image.
143
+ # Image input.
137
144
  INPUT_TYPE_IMAGE = 3
138
145
 
139
- # The input message is blob file.
146
+ # Blob input.
140
147
  INPUT_TYPE_BLOB = 4
141
148
 
142
- # The input message is client function tool response.
149
+ # Client function tool response input.
143
150
  INPUT_TYPE_TOOL_RESPONSE = 5
144
151
 
145
- # The input message are variables.
152
+ # Variables input.
146
153
  INPUT_TYPE_VARIABLES = 6
147
154
  end
148
155
  end
@@ -21,6 +21,64 @@ module Google
21
21
  module Cloud
22
22
  module Ces
23
23
  module V1
24
+ # Experiment for the deployment.
25
+ # @!attribute [rw] version_release
26
+ # @return [::Google::Cloud::Ces::V1::ExperimentConfig::VersionRelease]
27
+ # Optional. Version release for the experiment.
28
+ class ExperimentConfig
29
+ include ::Google::Protobuf::MessageExts
30
+ extend ::Google::Protobuf::MessageExts::ClassMethods
31
+
32
+ # Version release for the experiment.
33
+ # @!attribute [rw] state
34
+ # @return [::Google::Cloud::Ces::V1::ExperimentConfig::State]
35
+ # Optional. State of the version release.
36
+ # @!attribute [rw] traffic_allocations
37
+ # @return [::Array<::Google::Cloud::Ces::V1::ExperimentConfig::VersionRelease::TrafficAllocation>]
38
+ # Optional. Traffic allocations for the version release.
39
+ class VersionRelease
40
+ include ::Google::Protobuf::MessageExts
41
+ extend ::Google::Protobuf::MessageExts::ClassMethods
42
+
43
+ # Traffic allocation for the version release.
44
+ # @!attribute [rw] id
45
+ # @return [::String]
46
+ # Optional. Id of the traffic allocation.
47
+ # Free format string, up to 128 characters.
48
+ # @!attribute [rw] traffic_percentage
49
+ # @return [::Integer]
50
+ # Optional. Traffic percentage of the traffic allocation.
51
+ # Must be between 0 and 100.
52
+ # @!attribute [rw] app_version
53
+ # @return [::String]
54
+ # Optional. App version of the traffic allocation.
55
+ # Format:
56
+ # `projects/{project}/locations/{location}/apps/{app}/versions/{version}`
57
+ class TrafficAllocation
58
+ include ::Google::Protobuf::MessageExts
59
+ extend ::Google::Protobuf::MessageExts::ClassMethods
60
+ end
61
+ end
62
+
63
+ # State of the experiment.
64
+ module State
65
+ # Unspecified state.
66
+ STATE_UNSPECIFIED = 0
67
+
68
+ # Deprecated: This state is no longer used.
69
+ PENDING = 1
70
+
71
+ # Running state. Experiment is running and valid.
72
+ RUNNING = 2
73
+
74
+ # Deprecated: This state is no longer used.
75
+ DONE = 3
76
+
77
+ # Deprecated: This state is no longer used.
78
+ EXPIRED = 4
79
+ end
80
+ end
81
+
24
82
  # A deployment represents an immutable, queryable version of the app.
25
83
  # It is used to deploy an app version with a specific channel profile.
26
84
  # @!attribute [rw] name
@@ -52,10 +110,57 @@ module Google
52
110
  # Output only. Etag used to ensure the object hasn't changed during a
53
111
  # read-modify-write operation. If the etag is empty, the update will
54
112
  # overwrite any concurrent changes.
113
+ # @!attribute [rw] experiment_config
114
+ # @return [::Google::Cloud::Ces::V1::ExperimentConfig]
115
+ # Optional. Experiment configuration for the deployment.
116
+ # @!attribute [rw] whatsapp_credentials
117
+ # @return [::Google::Cloud::Ces::V1::WhatsAppCredentials]
118
+ # Optional. Input only. Ephemeral WhatsApp credentials required when
119
+ # configuring a WhatsApp channel profile.
120
+ # @!attribute [rw] instagram_credentials
121
+ # @return [::Google::Cloud::Ces::V1::InstagramCredentials]
122
+ # Optional. Input only. Ephemeral Instagram credentials required when
123
+ # configuring a Instagram channel profile.
55
124
  class Deployment
56
125
  include ::Google::Protobuf::MessageExts
57
126
  extend ::Google::Protobuf::MessageExts::ClassMethods
58
127
  end
128
+
129
+ # Ephemeral Meta credentials for WhatsApp native integration.
130
+ # @!attribute [rw] auth_code
131
+ # @return [::String]
132
+ # Required. The Meta auth code provided by the embedded signup flow.
133
+ # @!attribute [rw] pin
134
+ # @return [::String]
135
+ # Required. The 6-digit PIN created by the user for two-step verification.
136
+ # @!attribute [rw] phone_number
137
+ # @return [::String]
138
+ # Required. The phone number to register with WhatsApp.
139
+ # @!attribute [rw] business_account_id
140
+ # @return [::String]
141
+ # Required. The Business Account ID to use for the phone number.
142
+ # @!attribute [rw] waba_id
143
+ # @return [::String]
144
+ # Required. The WhatsApp Business Account ID.
145
+ # @!attribute [rw] conversation_profile_id
146
+ # @return [::String]
147
+ # Required. The Conversation Profile ID to use for the deployment.
148
+ class WhatsAppCredentials
149
+ include ::Google::Protobuf::MessageExts
150
+ extend ::Google::Protobuf::MessageExts::ClassMethods
151
+ end
152
+
153
+ # Ephemeral Meta credentials for Instagram native integration.
154
+ # @!attribute [rw] auth_code
155
+ # @return [::String]
156
+ # Required. The Meta auth code provided by the embedded signup flow.
157
+ # @!attribute [rw] conversation_profile_id
158
+ # @return [::String]
159
+ # Required. The Conversation Profile ID to use for the deployment.
160
+ class InstagramCredentials
161
+ include ::Google::Protobuf::MessageExts
162
+ extend ::Google::Protobuf::MessageExts::ClassMethods
163
+ end
59
164
  end
60
165
  end
61
166
  end
@@ -27,6 +27,10 @@ module Google
27
27
  # @!attribute [rw] name
28
28
  # @return [::String]
29
29
  # Required. The name of the MCP tool.
30
+ # @!attribute [rw] name_override
31
+ # @return [::String]
32
+ # Optional. The name override of the MCP tool.
33
+ # This is populated if the name was overridden by a Toolset override.
30
34
  # @!attribute [rw] description
31
35
  # @return [::String]
32
36
  # Optional. The description of the MCP tool.
@@ -66,6 +70,10 @@ module Google
66
70
  # can be set in the session variables. See
67
71
  # https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection
68
72
  # for more details.
73
+ # @!attribute [r] state
74
+ # @return [::Google::Cloud::Ces::V1::McpTool::State]
75
+ # Output only. The dynamic availability state of the tool on the external
76
+ # server.
69
77
  class McpTool
70
78
  include ::Google::Protobuf::MessageExts
71
79
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -78,6 +86,23 @@ module Google
78
86
  include ::Google::Protobuf::MessageExts
79
87
  extend ::Google::Protobuf::MessageExts::ClassMethods
80
88
  end
89
+
90
+ # Represents the dynamic availability state of the tool.
91
+ module State
92
+ # Default state.
93
+ STATE_UNSPECIFIED = 0
94
+
95
+ # The tool is available and actively offered by the server.
96
+ ACTIVE = 1
97
+
98
+ # The tool is configured or pinned, but currently not offered by the
99
+ # server.
100
+ INACTIVE = 2
101
+
102
+ # The tool exists on the server, but does not match the version on the
103
+ # server.
104
+ STALE = 3
105
+ end
81
106
  end
82
107
  end
83
108
  end