google-cloud-ces-v1 0.a → 0.1.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 (137) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/cloud/ces/v1/agent_pb.rb +30 -0
  6. data/lib/google/cloud/ces/v1/agent_service/client.rb +5315 -0
  7. data/lib/google/cloud/ces/v1/agent_service/credentials.rb +48 -0
  8. data/lib/google/cloud/ces/v1/agent_service/operations.rb +841 -0
  9. data/lib/google/cloud/ces/v1/agent_service/paths.rb +424 -0
  10. data/lib/google/cloud/ces/v1/agent_service/rest/client.rb +4944 -0
  11. data/lib/google/cloud/ces/v1/agent_service/rest/operations.rb +925 -0
  12. data/lib/google/cloud/ces/v1/agent_service/rest/service_stub.rb +3028 -0
  13. data/lib/google/cloud/ces/v1/agent_service/rest.rb +55 -0
  14. data/lib/google/cloud/ces/v1/agent_service.rb +57 -0
  15. data/lib/google/cloud/ces/v1/agent_service_pb.rb +105 -0
  16. data/lib/google/cloud/ces/v1/agent_service_services_pb.rb +142 -0
  17. data/lib/google/cloud/ces/v1/agent_tool_pb.rb +24 -0
  18. data/lib/google/cloud/ces/v1/agent_transfers_pb.rb +29 -0
  19. data/lib/google/cloud/ces/v1/app_pb.rb +58 -0
  20. data/lib/google/cloud/ces/v1/app_version_pb.rb +32 -0
  21. data/lib/google/cloud/ces/v1/auth_pb.rb +34 -0
  22. data/lib/google/cloud/ces/v1/bigquery_export_pb.rb +23 -0
  23. data/lib/google/cloud/ces/v1/bindings_override.rb +75 -0
  24. data/lib/google/cloud/ces/v1/changelog_pb.rb +26 -0
  25. data/lib/google/cloud/ces/v1/client_function_pb.rb +24 -0
  26. data/lib/google/cloud/ces/v1/common_pb.rb +46 -0
  27. data/lib/google/cloud/ces/v1/connector_tool_pb.rb +27 -0
  28. data/lib/google/cloud/ces/v1/connector_toolset_pb.rb +25 -0
  29. data/lib/google/cloud/ces/v1/conversation_pb.rb +31 -0
  30. data/lib/google/cloud/ces/v1/data_store_pb.rb +27 -0
  31. data/lib/google/cloud/ces/v1/data_store_tool_pb.rb +40 -0
  32. data/lib/google/cloud/ces/v1/deployment_pb.rb +26 -0
  33. data/lib/google/cloud/ces/v1/example_pb.rb +34 -0
  34. data/lib/google/cloud/ces/v1/fakes_pb.rb +24 -0
  35. data/lib/google/cloud/ces/v1/file_search_tool_pb.rb +24 -0
  36. data/lib/google/cloud/ces/v1/google_search_tool_pb.rb +24 -0
  37. data/lib/google/cloud/ces/v1/guardrail_pb.rb +37 -0
  38. data/lib/google/cloud/ces/v1/mcp_tool_pb.rb +26 -0
  39. data/lib/google/cloud/ces/v1/mcp_toolset_pb.rb +25 -0
  40. data/lib/google/cloud/ces/v1/omnichannel_pb.rb +31 -0
  41. data/lib/google/cloud/ces/v1/omnichannel_service_pb.rb +27 -0
  42. data/lib/google/cloud/ces/v1/open_api_tool_pb.rb +25 -0
  43. data/lib/google/cloud/ces/v1/open_api_toolset_pb.rb +25 -0
  44. data/lib/google/cloud/ces/v1/python_function_pb.rb +23 -0
  45. data/lib/google/cloud/ces/v1/rest.rb +41 -0
  46. data/lib/google/cloud/ces/v1/schema_pb.rb +25 -0
  47. data/lib/google/cloud/ces/v1/search_suggestions_pb.rb +22 -0
  48. data/lib/google/cloud/ces/v1/security_settings_pb.rb +27 -0
  49. data/lib/google/cloud/ces/v1/session_service/client.rb +759 -0
  50. data/lib/google/cloud/ces/v1/session_service/credentials.rb +48 -0
  51. data/lib/google/cloud/ces/v1/session_service/paths.rb +117 -0
  52. data/lib/google/cloud/ces/v1/session_service/rest/client.rb +560 -0
  53. data/lib/google/cloud/ces/v1/session_service/rest/service_stub.rb +199 -0
  54. data/lib/google/cloud/ces/v1/session_service/rest.rb +53 -0
  55. data/lib/google/cloud/ces/v1/session_service.rb +55 -0
  56. data/lib/google/cloud/ces/v1/session_service_pb.rb +50 -0
  57. data/lib/google/cloud/ces/v1/session_service_services_pb.rb +119 -0
  58. data/lib/google/cloud/ces/v1/system_tool_pb.rb +23 -0
  59. data/lib/google/cloud/ces/v1/tool_pb.rb +38 -0
  60. data/lib/google/cloud/ces/v1/tool_service/client.rb +723 -0
  61. data/lib/google/cloud/ces/v1/tool_service/credentials.rb +48 -0
  62. data/lib/google/cloud/ces/v1/tool_service/paths.rb +94 -0
  63. data/lib/google/cloud/ces/v1/tool_service/rest/client.rb +667 -0
  64. data/lib/google/cloud/ces/v1/tool_service/rest/service_stub.rb +267 -0
  65. data/lib/google/cloud/ces/v1/tool_service/rest.rb +53 -0
  66. data/lib/google/cloud/ces/v1/tool_service.rb +55 -0
  67. data/lib/google/cloud/ces/v1/tool_service_pb.rb +35 -0
  68. data/lib/google/cloud/ces/v1/tool_service_services_pb.rb +50 -0
  69. data/lib/google/cloud/ces/v1/toolset_pb.rb +30 -0
  70. data/lib/google/cloud/ces/v1/toolset_tool_pb.rb +24 -0
  71. data/lib/google/cloud/ces/v1/version.rb +7 -2
  72. data/lib/google/cloud/ces/v1/widget_service/client.rb +501 -0
  73. data/lib/google/cloud/ces/v1/widget_service/credentials.rb +48 -0
  74. data/lib/google/cloud/ces/v1/widget_service/paths.rb +75 -0
  75. data/lib/google/cloud/ces/v1/widget_service/rest/client.rb +459 -0
  76. data/lib/google/cloud/ces/v1/widget_service/rest/service_stub.rb +143 -0
  77. data/lib/google/cloud/ces/v1/widget_service/rest.rb +53 -0
  78. data/lib/google/cloud/ces/v1/widget_service.rb +55 -0
  79. data/lib/google/cloud/ces/v1/widget_service_pb.rb +28 -0
  80. data/lib/google/cloud/ces/v1/widget_service_services_pb.rb +46 -0
  81. data/lib/google/cloud/ces/v1/widget_tool_pb.rb +29 -0
  82. data/lib/google/cloud/ces/v1.rb +48 -0
  83. data/lib/google-cloud-ces-v1.rb +21 -0
  84. data/proto_docs/README.md +4 -0
  85. data/proto_docs/google/api/client.rb +593 -0
  86. data/proto_docs/google/api/field_behavior.rb +85 -0
  87. data/proto_docs/google/api/launch_stage.rb +71 -0
  88. data/proto_docs/google/api/resource.rb +227 -0
  89. data/proto_docs/google/cloud/ces/v1/agent.rb +224 -0
  90. data/proto_docs/google/cloud/ces/v1/agent_service.rb +1250 -0
  91. data/proto_docs/google/cloud/ces/v1/agent_tool.rb +42 -0
  92. data/proto_docs/google/cloud/ces/v1/agent_transfers.rb +111 -0
  93. data/proto_docs/google/cloud/ces/v1/app.rb +685 -0
  94. data/proto_docs/google/cloud/ces/v1/app_version.rb +83 -0
  95. data/proto_docs/google/cloud/ces/v1/auth.rb +214 -0
  96. data/proto_docs/google/cloud/ces/v1/bigquery_export.rb +45 -0
  97. data/proto_docs/google/cloud/ces/v1/changelog.rb +73 -0
  98. data/proto_docs/google/cloud/ces/v1/client_function.rb +48 -0
  99. data/proto_docs/google/cloud/ces/v1/common.rb +375 -0
  100. data/proto_docs/google/cloud/ces/v1/connector_tool.rb +122 -0
  101. data/proto_docs/google/cloud/ces/v1/connector_toolset.rb +52 -0
  102. data/proto_docs/google/cloud/ces/v1/conversation.rb +152 -0
  103. data/proto_docs/google/cloud/ces/v1/data_store.rb +102 -0
  104. data/proto_docs/google/cloud/ces/v1/data_store_tool.rb +328 -0
  105. data/proto_docs/google/cloud/ces/v1/deployment.rb +62 -0
  106. data/proto_docs/google/cloud/ces/v1/example.rb +244 -0
  107. data/proto_docs/google/cloud/ces/v1/fakes.rb +55 -0
  108. data/proto_docs/google/cloud/ces/v1/file_search_tool.rb +60 -0
  109. data/proto_docs/google/cloud/ces/v1/google_search_tool.rb +76 -0
  110. data/proto_docs/google/cloud/ces/v1/guardrail.rb +324 -0
  111. data/proto_docs/google/cloud/ces/v1/mcp_tool.rb +85 -0
  112. data/proto_docs/google/cloud/ces/v1/mcp_toolset.rb +71 -0
  113. data/proto_docs/google/cloud/ces/v1/omnichannel.rb +163 -0
  114. data/proto_docs/google/cloud/ces/v1/omnichannel_service.rb +45 -0
  115. data/proto_docs/google/cloud/ces/v1/open_api_tool.rb +66 -0
  116. data/proto_docs/google/cloud/ces/v1/open_api_toolset.rb +57 -0
  117. data/proto_docs/google/cloud/ces/v1/python_function.rb +44 -0
  118. data/proto_docs/google/cloud/ces/v1/schema.rb +162 -0
  119. data/proto_docs/google/cloud/ces/v1/search_suggestions.rb +55 -0
  120. data/proto_docs/google/cloud/ces/v1/security_settings.rb +80 -0
  121. data/proto_docs/google/cloud/ces/v1/session_service.rb +464 -0
  122. data/proto_docs/google/cloud/ces/v1/system_tool.rb +38 -0
  123. data/proto_docs/google/cloud/ces/v1/tool.rb +126 -0
  124. data/proto_docs/google/cloud/ces/v1/tool_service.rb +168 -0
  125. data/proto_docs/google/cloud/ces/v1/toolset.rb +80 -0
  126. data/proto_docs/google/cloud/ces/v1/toolset_tool.rb +40 -0
  127. data/proto_docs/google/cloud/ces/v1/widget_service.rb +62 -0
  128. data/proto_docs/google/cloud/ces/v1/widget_tool.rb +146 -0
  129. data/proto_docs/google/longrunning/operations.rb +191 -0
  130. data/proto_docs/google/protobuf/any.rb +145 -0
  131. data/proto_docs/google/protobuf/duration.rb +98 -0
  132. data/proto_docs/google/protobuf/empty.rb +34 -0
  133. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  134. data/proto_docs/google/protobuf/struct.rb +108 -0
  135. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  136. data/proto_docs/google/rpc/status.rb +48 -0
  137. metadata +183 -9
@@ -0,0 +1,324 @@
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
+ # Guardrail contains a list of checks and balances to keep the agents safe and
25
+ # secure.
26
+ # @!attribute [rw] content_filter
27
+ # @return [::Google::Cloud::Ces::V1::Guardrail::ContentFilter]
28
+ # Optional. Guardrail that bans certain content from being used in the
29
+ # conversation.
30
+ #
31
+ # Note: The following fields are mutually exclusive: `content_filter`, `llm_prompt_security`, `llm_policy`, `model_safety`, `code_callback`. If a field in that set is populated, all other fields in the set will automatically be cleared.
32
+ # @!attribute [rw] llm_prompt_security
33
+ # @return [::Google::Cloud::Ces::V1::Guardrail::LlmPromptSecurity]
34
+ # Optional. Guardrail that blocks the conversation if the prompt is
35
+ # considered unsafe based on the LLM classification.
36
+ #
37
+ # Note: The following fields are mutually exclusive: `llm_prompt_security`, `content_filter`, `llm_policy`, `model_safety`, `code_callback`. If a field in that set is populated, all other fields in the set will automatically be cleared.
38
+ # @!attribute [rw] llm_policy
39
+ # @return [::Google::Cloud::Ces::V1::Guardrail::LlmPolicy]
40
+ # Optional. Guardrail that blocks the conversation if the LLM response is
41
+ # considered violating the policy based on the LLM classification.
42
+ #
43
+ # Note: The following fields are mutually exclusive: `llm_policy`, `content_filter`, `llm_prompt_security`, `model_safety`, `code_callback`. If a field in that set is populated, all other fields in the set will automatically be cleared.
44
+ # @!attribute [rw] model_safety
45
+ # @return [::Google::Cloud::Ces::V1::Guardrail::ModelSafety]
46
+ # Optional. Guardrail that blocks the conversation if the LLM response is
47
+ # considered unsafe based on the model safety settings.
48
+ #
49
+ # Note: The following fields are mutually exclusive: `model_safety`, `content_filter`, `llm_prompt_security`, `llm_policy`, `code_callback`. If a field in that set is populated, all other fields in the set will automatically be cleared.
50
+ # @!attribute [rw] code_callback
51
+ # @return [::Google::Cloud::Ces::V1::Guardrail::CodeCallback]
52
+ # Optional. Guardrail that potentially blocks the conversation based on the
53
+ # result of the callback execution.
54
+ #
55
+ # Note: The following fields are mutually exclusive: `code_callback`, `content_filter`, `llm_prompt_security`, `llm_policy`, `model_safety`. If a field in that set is populated, all other fields in the set will automatically be cleared.
56
+ # @!attribute [rw] name
57
+ # @return [::String]
58
+ # Identifier. The unique identifier of the guardrail.
59
+ # Format:
60
+ # `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`
61
+ # @!attribute [rw] display_name
62
+ # @return [::String]
63
+ # Required. Display name of the guardrail.
64
+ # @!attribute [rw] description
65
+ # @return [::String]
66
+ # Optional. Description of the guardrail.
67
+ # @!attribute [rw] enabled
68
+ # @return [::Boolean]
69
+ # Optional. Whether the guardrail is enabled.
70
+ # @!attribute [rw] action
71
+ # @return [::Google::Cloud::Ces::V1::TriggerAction]
72
+ # Optional. Action to take when the guardrail is triggered.
73
+ # @!attribute [r] create_time
74
+ # @return [::Google::Protobuf::Timestamp]
75
+ # Output only. Timestamp when the guardrail was created.
76
+ # @!attribute [r] update_time
77
+ # @return [::Google::Protobuf::Timestamp]
78
+ # Output only. Timestamp when the guardrail was last updated.
79
+ # @!attribute [rw] etag
80
+ # @return [::String]
81
+ # Etag used to ensure the object hasn't changed during a read-modify-write
82
+ # operation. If the etag is empty, the update will overwrite any concurrent
83
+ # changes.
84
+ class Guardrail
85
+ include ::Google::Protobuf::MessageExts
86
+ extend ::Google::Protobuf::MessageExts::ClassMethods
87
+
88
+ # Guardrail that bans certain content from being used in the conversation.
89
+ # @!attribute [rw] banned_contents
90
+ # @return [::Array<::String>]
91
+ # Optional. List of banned phrases. Applies to both user inputs and agent
92
+ # responses.
93
+ # @!attribute [rw] banned_contents_in_user_input
94
+ # @return [::Array<::String>]
95
+ # Optional. List of banned phrases. Applies only to user inputs.
96
+ # @!attribute [rw] banned_contents_in_agent_response
97
+ # @return [::Array<::String>]
98
+ # Optional. List of banned phrases. Applies only to agent responses.
99
+ # @!attribute [rw] match_type
100
+ # @return [::Google::Cloud::Ces::V1::Guardrail::ContentFilter::MatchType]
101
+ # Required. Match type for the content filter.
102
+ # @!attribute [rw] disregard_diacritics
103
+ # @return [::Boolean]
104
+ # Optional. If true, diacritics are ignored during matching.
105
+ class ContentFilter
106
+ include ::Google::Protobuf::MessageExts
107
+ extend ::Google::Protobuf::MessageExts::ClassMethods
108
+
109
+ # Match type for the content filter.
110
+ module MatchType
111
+ # Match type is not specified.
112
+ MATCH_TYPE_UNSPECIFIED = 0
113
+
114
+ # Content is matched for substrings character by character.
115
+ SIMPLE_STRING_MATCH = 1
116
+
117
+ # Content only matches if the pattern found in the text is
118
+ # surrounded by word delimiters. Banned phrases can also contain word
119
+ # delimiters.
120
+ WORD_BOUNDARY_STRING_MATCH = 2
121
+
122
+ # Content is matched using regular expression syntax.
123
+ REGEXP_MATCH = 3
124
+ end
125
+ end
126
+
127
+ # Guardrail that blocks the conversation if the input is considered unsafe
128
+ # based on the LLM classification.
129
+ # @!attribute [rw] default_settings
130
+ # @return [::Google::Cloud::Ces::V1::Guardrail::LlmPromptSecurity::DefaultSecuritySettings]
131
+ # Optional. Use the system's predefined default security settings.
132
+ # To select this mode, include an empty 'default_settings' message
133
+ # in the request. The 'default_prompt_template' field within
134
+ # will be populated by the server in the response.
135
+ #
136
+ # Note: The following fields are mutually exclusive: `default_settings`, `custom_policy`. If a field in that set is populated, all other fields in the set will automatically be cleared.
137
+ # @!attribute [rw] custom_policy
138
+ # @return [::Google::Cloud::Ces::V1::Guardrail::LlmPolicy]
139
+ # Optional. Use a user-defined LlmPolicy to configure the security
140
+ # guardrail.
141
+ #
142
+ # Note: The following fields are mutually exclusive: `custom_policy`, `default_settings`. If a field in that set is populated, all other fields in the set will automatically be cleared.
143
+ # @!attribute [rw] fail_open
144
+ # @return [::Boolean]
145
+ # Optional. Determines the behavior when the guardrail encounters an LLM
146
+ # error.
147
+ # - If true: the guardrail is bypassed.
148
+ # - If false (default): the guardrail triggers/blocks.
149
+ #
150
+ # Note: If a custom policy is provided, this field is ignored in favor
151
+ # of the policy's 'fail_open' configuration.
152
+ class LlmPromptSecurity
153
+ include ::Google::Protobuf::MessageExts
154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
155
+
156
+ # Configuration for default system security settings.
157
+ # @!attribute [r] default_prompt_template
158
+ # @return [::String]
159
+ # Output only. The default prompt template used by the system.
160
+ # This field is for display purposes to show the user what prompt
161
+ # the system uses by default. It is OUTPUT_ONLY.
162
+ class DefaultSecuritySettings
163
+ include ::Google::Protobuf::MessageExts
164
+ extend ::Google::Protobuf::MessageExts::ClassMethods
165
+ end
166
+ end
167
+
168
+ # Guardrail that blocks the conversation if the LLM response is considered
169
+ # violating the policy based on the LLM classification.
170
+ # @!attribute [rw] max_conversation_messages
171
+ # @return [::Integer]
172
+ # Optional. When checking this policy, consider the last 'n' messages in
173
+ # the conversation. When not set a default value of 10 will be used.
174
+ # @!attribute [rw] model_settings
175
+ # @return [::Google::Cloud::Ces::V1::ModelSettings]
176
+ # Optional. Model settings.
177
+ # @!attribute [rw] prompt
178
+ # @return [::String]
179
+ # Required. Policy prompt.
180
+ # @!attribute [rw] policy_scope
181
+ # @return [::Google::Cloud::Ces::V1::Guardrail::LlmPolicy::PolicyScope]
182
+ # Required. Defines when to apply the policy check during the conversation.
183
+ # If set to `POLICY_SCOPE_UNSPECIFIED`, the policy will be applied to the
184
+ # user input. When applying the policy to the agent response, additional
185
+ # latency will be introduced before the agent can respond.
186
+ # @!attribute [rw] fail_open
187
+ # @return [::Boolean]
188
+ # Optional. If an error occurs during the policy check, fail open and do
189
+ # not trigger the guardrail.
190
+ # @!attribute [rw] allow_short_utterance
191
+ # @return [::Boolean]
192
+ # Optional. By default, the LLM policy check is bypassed for short
193
+ # utterances. Enabling this setting applies the policy check to all
194
+ # utterances, including those that would normally be skipped.
195
+ class LlmPolicy
196
+ include ::Google::Protobuf::MessageExts
197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
198
+
199
+ # Defines when to apply the policy check during the conversation.
200
+ module PolicyScope
201
+ # Policy scope is not specified.
202
+ POLICY_SCOPE_UNSPECIFIED = 0
203
+
204
+ # Policy check is triggered on user input.
205
+ USER_QUERY = 1
206
+
207
+ # Policy check is triggered on agent response. Applying this policy
208
+ # scope will introduce additional latency before the agent can respond.
209
+ AGENT_RESPONSE = 2
210
+
211
+ # Policy check is triggered on both user input and agent response.
212
+ # Applying this policy scope will introduce additional latency before
213
+ # the agent can respond.
214
+ USER_QUERY_AND_AGENT_RESPONSE = 3
215
+ end
216
+ end
217
+
218
+ # Model safety settings overrides. When this is set, it will override the
219
+ # default settings and trigger the guardrail if the response is considered
220
+ # unsafe.
221
+ # @!attribute [rw] safety_settings
222
+ # @return [::Array<::Google::Cloud::Ces::V1::Guardrail::ModelSafety::SafetySetting>]
223
+ # Required. List of safety settings.
224
+ class ModelSafety
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+
228
+ # Safety setting.
229
+ # @!attribute [rw] category
230
+ # @return [::Google::Cloud::Ces::V1::Guardrail::ModelSafety::HarmCategory]
231
+ # Required. The harm category.
232
+ # @!attribute [rw] threshold
233
+ # @return [::Google::Cloud::Ces::V1::Guardrail::ModelSafety::HarmBlockThreshold]
234
+ # Required. The harm block threshold.
235
+ class SafetySetting
236
+ include ::Google::Protobuf::MessageExts
237
+ extend ::Google::Protobuf::MessageExts::ClassMethods
238
+ end
239
+
240
+ # Harm category.
241
+ module HarmCategory
242
+ # The harm category is unspecified.
243
+ HARM_CATEGORY_UNSPECIFIED = 0
244
+
245
+ # The harm category is hate speech.
246
+ HARM_CATEGORY_HATE_SPEECH = 1
247
+
248
+ # The harm category is dangerous content.
249
+ HARM_CATEGORY_DANGEROUS_CONTENT = 2
250
+
251
+ # The harm category is harassment.
252
+ HARM_CATEGORY_HARASSMENT = 3
253
+
254
+ # The harm category is sexually explicit content.
255
+ HARM_CATEGORY_SEXUALLY_EXPLICIT = 4
256
+ end
257
+
258
+ # Probability based thresholds levels for blocking.
259
+ module HarmBlockThreshold
260
+ # Unspecified harm block threshold.
261
+ HARM_BLOCK_THRESHOLD_UNSPECIFIED = 0
262
+
263
+ # Block low threshold and above (i.e. block more).
264
+ BLOCK_LOW_AND_ABOVE = 1
265
+
266
+ # Block medium threshold and above.
267
+ BLOCK_MEDIUM_AND_ABOVE = 2
268
+
269
+ # Block only high threshold (i.e. block less).
270
+ BLOCK_ONLY_HIGH = 3
271
+
272
+ # Block none.
273
+ BLOCK_NONE = 4
274
+
275
+ # Turn off the safety filter.
276
+ OFF = 5
277
+ end
278
+ end
279
+
280
+ # Guardrail that blocks the conversation based on the code callbacks
281
+ # provided.
282
+ # @!attribute [rw] before_agent_callback
283
+ # @return [::Google::Cloud::Ces::V1::Callback]
284
+ # Optional. The callback to execute before the agent is called.
285
+ # Each callback function is expected to return a structure (e.g., a dict or
286
+ # object) containing at least:
287
+ # - 'decision': Either 'OK' or 'TRIGGER'.
288
+ # - 'reason': A string explaining the decision.
289
+ # A 'TRIGGER' decision may halt further processing.
290
+ # @!attribute [rw] after_agent_callback
291
+ # @return [::Google::Cloud::Ces::V1::Callback]
292
+ # Optional. The callback to execute after the agent is called.
293
+ # Each callback function is expected to return a structure (e.g., a dict or
294
+ # object) containing at least:
295
+ # - 'decision': Either 'OK' or 'TRIGGER'.
296
+ # - 'reason': A string explaining the decision.
297
+ # A 'TRIGGER' decision may halt further processing.
298
+ # @!attribute [rw] before_model_callback
299
+ # @return [::Google::Cloud::Ces::V1::Callback]
300
+ # Optional. The callback to execute before the model is called. If there
301
+ # are multiple calls to the model, the callback will be executed multiple
302
+ # times. Each callback function is expected to return a structure (e.g., a
303
+ # dict or object) containing at least:
304
+ # - 'decision': Either 'OK' or 'TRIGGER'.
305
+ # - 'reason': A string explaining the decision.
306
+ # A 'TRIGGER' decision may halt further processing.
307
+ # @!attribute [rw] after_model_callback
308
+ # @return [::Google::Cloud::Ces::V1::Callback]
309
+ # Optional. The callback to execute after the model is called. If there are
310
+ # multiple calls to the model, the callback will be executed multiple
311
+ # times. Each callback function is expected to return a structure (e.g., a
312
+ # dict or object) containing at least:
313
+ # - 'decision': Either 'OK' or 'TRIGGER'.
314
+ # - 'reason': A string explaining the decision.
315
+ # A 'TRIGGER' decision may halt further processing.
316
+ class CodeCallback
317
+ include ::Google::Protobuf::MessageExts
318
+ extend ::Google::Protobuf::MessageExts::ClassMethods
319
+ end
320
+ end
321
+ end
322
+ end
323
+ end
324
+ end
@@ -0,0 +1,85 @@
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
+ # An MCP tool.
25
+ # See https://modelcontextprotocol.io/specification/2025-06-18/server/tools for
26
+ # more details.
27
+ # @!attribute [rw] name
28
+ # @return [::String]
29
+ # Required. The name of the MCP tool.
30
+ # @!attribute [rw] description
31
+ # @return [::String]
32
+ # Optional. The description of the MCP tool.
33
+ # @!attribute [rw] input_schema
34
+ # @return [::Google::Cloud::Ces::V1::Schema]
35
+ # Optional. The schema of the input arguments of the MCP tool.
36
+ # @!attribute [rw] output_schema
37
+ # @return [::Google::Cloud::Ces::V1::Schema]
38
+ # Optional. The schema of the output arguments of the MCP tool.
39
+ # @!attribute [rw] server_address
40
+ # @return [::String]
41
+ # Required. The server address of the MCP server, e.g.,
42
+ # "https://example.com/mcp/". If the server is built with the MCP SDK, the
43
+ # url should be suffixed with
44
+ # "/mcp/". Only Streamable HTTP transport based servers are supported. This
45
+ # is the same as the server_address in the McpToolset. See
46
+ # https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http
47
+ # for more details.
48
+ # @!attribute [rw] api_authentication
49
+ # @return [::Google::Cloud::Ces::V1::ApiAuthentication]
50
+ # Optional. Authentication information required to execute the tool against
51
+ # the MCP server. For bearer token authentication, the token applies only to
52
+ # tool execution, not to listing tools. This requires that tools can be
53
+ # listed without authentication.
54
+ # @!attribute [rw] tls_config
55
+ # @return [::Google::Cloud::Ces::V1::TlsConfig]
56
+ # Optional. The TLS configuration. Includes the custom server certificates
57
+ # that the client should trust.
58
+ # @!attribute [rw] service_directory_config
59
+ # @return [::Google::Cloud::Ces::V1::ServiceDirectoryConfig]
60
+ # Optional. Service Directory configuration for VPC-SC, used to resolve
61
+ # service names within a perimeter.
62
+ # @!attribute [rw] custom_headers
63
+ # @return [::Google::Protobuf::Map{::String => ::String}]
64
+ # Optional. The custom headers to send in the request to the MCP server. The
65
+ # values must be in the format `$context.variables.<name_of_variable>` and
66
+ # can be set in the session variables. See
67
+ # https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection
68
+ # for more details.
69
+ class McpTool
70
+ include ::Google::Protobuf::MessageExts
71
+ extend ::Google::Protobuf::MessageExts::ClassMethods
72
+
73
+ # @!attribute [rw] key
74
+ # @return [::String]
75
+ # @!attribute [rw] value
76
+ # @return [::String]
77
+ class CustomHeadersEntry
78
+ include ::Google::Protobuf::MessageExts
79
+ extend ::Google::Protobuf::MessageExts::ClassMethods
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,71 @@
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
+ # A toolset that contains a list of tools that are offered by the MCP
25
+ # server.
26
+ # @!attribute [rw] server_address
27
+ # @return [::String]
28
+ # Required. The address of the MCP server, for example,
29
+ # "https://example.com/mcp/". If the server is built with the MCP SDK, the
30
+ # url should be suffixed with
31
+ # "/mcp/". Only Streamable HTTP transport based servers are supported. See
32
+ # https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http
33
+ # for more details.
34
+ # @!attribute [rw] api_authentication
35
+ # @return [::Google::Cloud::Ces::V1::ApiAuthentication]
36
+ # Optional. Authentication information required to access tools and execute a
37
+ # tool against the MCP server. For bearer token authentication, the token
38
+ # applies only to tool execution, not to listing tools. This requires that
39
+ # tools can be listed without authentication.
40
+ # @!attribute [rw] service_directory_config
41
+ # @return [::Google::Cloud::Ces::V1::ServiceDirectoryConfig]
42
+ # Optional. Service Directory configuration for VPC-SC, used to resolve
43
+ # service names within a perimeter.
44
+ # @!attribute [rw] tls_config
45
+ # @return [::Google::Cloud::Ces::V1::TlsConfig]
46
+ # Optional. The TLS configuration. Includes the custom server certificates
47
+ # that the client should trust.
48
+ # @!attribute [rw] custom_headers
49
+ # @return [::Google::Protobuf::Map{::String => ::String}]
50
+ # Optional. The custom headers to send in the request to the MCP server. The
51
+ # values must be in the format `$context.variables.<name_of_variable>` and
52
+ # can be set in the session variables. See
53
+ # https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection
54
+ # for more details.
55
+ class McpToolset
56
+ include ::Google::Protobuf::MessageExts
57
+ extend ::Google::Protobuf::MessageExts::ClassMethods
58
+
59
+ # @!attribute [rw] key
60
+ # @return [::String]
61
+ # @!attribute [rw] value
62
+ # @return [::String]
63
+ class CustomHeadersEntry
64
+ include ::Google::Protobuf::MessageExts
65
+ extend ::Google::Protobuf::MessageExts::ClassMethods
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,163 @@
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
+ # Represents an Omnichannel resource.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Identifier. The unique identifier of the omnichannel resource.
28
+ # Format:
29
+ # `projects/{project}/locations/{location}/omnichannels/{omnichannel}`
30
+ # @!attribute [rw] display_name
31
+ # @return [::String]
32
+ # Required. Display name of the omnichannel resource.
33
+ # @!attribute [rw] description
34
+ # @return [::String]
35
+ # Optional. Human-readable description of the omnichannel resource.
36
+ # @!attribute [r] create_time
37
+ # @return [::Google::Protobuf::Timestamp]
38
+ # Output only. Timestamp when the omnichannel resource was created.
39
+ # @!attribute [r] update_time
40
+ # @return [::Google::Protobuf::Timestamp]
41
+ # Output only. Timestamp when the omnichannel resource was last updated.
42
+ # @!attribute [r] etag
43
+ # @return [::String]
44
+ # Output only. Etag used to ensure the object hasn't changed during a
45
+ # read-modify-write operation.
46
+ # @!attribute [rw] integration_config
47
+ # @return [::Google::Cloud::Ces::V1::OmnichannelIntegrationConfig]
48
+ # Optional. The integration config for the omnichannel resource.
49
+ class Omnichannel
50
+ include ::Google::Protobuf::MessageExts
51
+ extend ::Google::Protobuf::MessageExts::ClassMethods
52
+ end
53
+
54
+ # OmnichannelIntegrationConfig contains all App integration configs.
55
+ # @!attribute [rw] channel_configs
56
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Ces::V1::OmnichannelIntegrationConfig::ChannelConfig}]
57
+ # Optional. Various of configuration for handling App events.
58
+ # @!attribute [rw] subscriber_configs
59
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Ces::V1::OmnichannelIntegrationConfig::SubscriberConfig}]
60
+ # Optional. Various of subscribers configs.
61
+ # @!attribute [rw] routing_configs
62
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Ces::V1::OmnichannelIntegrationConfig::RoutingConfig}]
63
+ # Optional. The key of routing_configs is a key of `app_configs`, value is a
64
+ # `RoutingConfig`, which contains subscriber's key.
65
+ class OmnichannelIntegrationConfig
66
+ include ::Google::Protobuf::MessageExts
67
+ extend ::Google::Protobuf::MessageExts::ClassMethods
68
+
69
+ # ChannelConfig contains config for various of app integration.
70
+ # @!attribute [rw] whatsapp_config
71
+ # @return [::Google::Cloud::Ces::V1::OmnichannelIntegrationConfig::WhatsappConfig]
72
+ # WhatsApp config.
73
+ class ChannelConfig
74
+ include ::Google::Protobuf::MessageExts
75
+ extend ::Google::Protobuf::MessageExts::ClassMethods
76
+ end
77
+
78
+ # How Omnichannel should receive/reply events from WhatsApp.
79
+ # @!attribute [rw] phone_number_id
80
+ # @return [::String]
81
+ # The Phone Number ID associated with the WhatsApp Business Account.
82
+ # @!attribute [rw] phone_number
83
+ # @return [::String]
84
+ # The phone number used for sending/receiving messages.
85
+ # @!attribute [rw] whatsapp_business_account_id
86
+ # @return [::String]
87
+ # The customer's WhatsApp Business Account (WABA) ID.
88
+ # @!attribute [rw] webhook_verify_token
89
+ # @return [::String]
90
+ # The verify token configured in the Meta App Dashboard for webhook
91
+ # verification.
92
+ # @!attribute [rw] whatsapp_business_token
93
+ # @return [::String]
94
+ # The access token for authenticating API calls to the WhatsApp Cloud API.
95
+ # https://developers.facebook.com/docs/whatsapp/business-management-api/get-started/#business-integration-system-user-access-tokens
96
+ # @!attribute [rw] meta_business_portfolio_id
97
+ # @return [::String]
98
+ # The Meta Business Portfolio (MBP) ID.
99
+ # https://www.facebook.com/business/help/1710077379203657
100
+ class WhatsappConfig
101
+ include ::Google::Protobuf::MessageExts
102
+ extend ::Google::Protobuf::MessageExts::ClassMethods
103
+ end
104
+
105
+ # Configs of subscribers.
106
+ # @!attribute [rw] ces_app_config
107
+ # @return [::Google::Cloud::Ces::V1::OmnichannelIntegrationConfig::CesAppConfig]
108
+ # Ces app config.
109
+ class SubscriberConfig
110
+ include ::Google::Protobuf::MessageExts
111
+ extend ::Google::Protobuf::MessageExts::ClassMethods
112
+ end
113
+
114
+ # Configs for CES app.
115
+ # @!attribute [rw] app
116
+ # @return [::String]
117
+ # The unique identifier of the CES app.
118
+ # Format: `projects/{project}/locations/{location}/apps/{app}`
119
+ class CesAppConfig
120
+ include ::Google::Protobuf::MessageExts
121
+ extend ::Google::Protobuf::MessageExts::ClassMethods
122
+ end
123
+
124
+ # Routing config specify how/who to route app events to a subscriber.
125
+ # @!attribute [rw] subscriber_key
126
+ # @return [::String]
127
+ # The key of the subscriber.
128
+ class RoutingConfig
129
+ include ::Google::Protobuf::MessageExts
130
+ extend ::Google::Protobuf::MessageExts::ClassMethods
131
+ end
132
+
133
+ # @!attribute [rw] key
134
+ # @return [::String]
135
+ # @!attribute [rw] value
136
+ # @return [::Google::Cloud::Ces::V1::OmnichannelIntegrationConfig::ChannelConfig]
137
+ class ChannelConfigsEntry
138
+ include ::Google::Protobuf::MessageExts
139
+ extend ::Google::Protobuf::MessageExts::ClassMethods
140
+ end
141
+
142
+ # @!attribute [rw] key
143
+ # @return [::String]
144
+ # @!attribute [rw] value
145
+ # @return [::Google::Cloud::Ces::V1::OmnichannelIntegrationConfig::SubscriberConfig]
146
+ class SubscriberConfigsEntry
147
+ include ::Google::Protobuf::MessageExts
148
+ extend ::Google::Protobuf::MessageExts::ClassMethods
149
+ end
150
+
151
+ # @!attribute [rw] key
152
+ # @return [::String]
153
+ # @!attribute [rw] value
154
+ # @return [::Google::Cloud::Ces::V1::OmnichannelIntegrationConfig::RoutingConfig]
155
+ class RoutingConfigsEntry
156
+ include ::Google::Protobuf::MessageExts
157
+ extend ::Google::Protobuf::MessageExts::ClassMethods
158
+ end
159
+ end
160
+ end
161
+ end
162
+ end
163
+ end