google-cloud-ces-v1beta 0.a → 0.2.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 (161) 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/v1beta/agent_card_pb.rb +26 -0
  6. data/lib/google/cloud/ces/v1beta/agent_pb.rb +30 -0
  7. data/lib/google/cloud/ces/v1beta/agent_service/client.rb +5641 -0
  8. data/lib/google/cloud/ces/v1beta/agent_service/credentials.rb +48 -0
  9. data/lib/google/cloud/ces/v1beta/agent_service/operations.rb +843 -0
  10. data/lib/google/cloud/ces/v1beta/agent_service/paths.rb +481 -0
  11. data/lib/google/cloud/ces/v1beta/agent_service/rest/client.rb +5249 -0
  12. data/lib/google/cloud/ces/v1beta/agent_service/rest/operations.rb +927 -0
  13. data/lib/google/cloud/ces/v1beta/agent_service/rest/service_stub.rb +3213 -0
  14. data/lib/google/cloud/ces/v1beta/agent_service/rest.rb +55 -0
  15. data/lib/google/cloud/ces/v1beta/agent_service.rb +57 -0
  16. data/lib/google/cloud/ces/v1beta/agent_service_pb.rb +132 -0
  17. data/lib/google/cloud/ces/v1beta/agent_service_services_pb.rb +148 -0
  18. data/lib/google/cloud/ces/v1beta/agent_tool_pb.rb +24 -0
  19. data/lib/google/cloud/ces/v1beta/agent_transfers_pb.rb +29 -0
  20. data/lib/google/cloud/ces/v1beta/app_pb.rb +70 -0
  21. data/lib/google/cloud/ces/v1beta/app_version_pb.rb +32 -0
  22. data/lib/google/cloud/ces/v1beta/auth_pb.rb +34 -0
  23. data/lib/google/cloud/ces/v1beta/bigquery_export_pb.rb +23 -0
  24. data/lib/google/cloud/ces/v1beta/bindings_override.rb +75 -0
  25. data/lib/google/cloud/ces/v1beta/changelog_pb.rb +26 -0
  26. data/lib/google/cloud/ces/v1beta/client_function_pb.rb +24 -0
  27. data/lib/google/cloud/ces/v1beta/common_pb.rb +46 -0
  28. data/lib/google/cloud/ces/v1beta/connector_tool_pb.rb +27 -0
  29. data/lib/google/cloud/ces/v1beta/connector_toolset_pb.rb +25 -0
  30. data/lib/google/cloud/ces/v1beta/conversation_pb.rb +31 -0
  31. data/lib/google/cloud/ces/v1beta/data_store_pb.rb +27 -0
  32. data/lib/google/cloud/ces/v1beta/data_store_tool_pb.rb +40 -0
  33. data/lib/google/cloud/ces/v1beta/deployment_pb.rb +30 -0
  34. data/lib/google/cloud/ces/v1beta/evaluation_metrics_config_pb.rb +31 -0
  35. data/lib/google/cloud/ces/v1beta/evaluation_pb.rb +99 -0
  36. data/lib/google/cloud/ces/v1beta/evaluation_service/client.rb +4050 -0
  37. data/lib/google/cloud/ces/v1beta/evaluation_service/credentials.rb +48 -0
  38. data/lib/google/cloud/ces/v1beta/evaluation_service/operations.rb +843 -0
  39. data/lib/google/cloud/ces/v1beta/evaluation_service/paths.rb +306 -0
  40. data/lib/google/cloud/ces/v1beta/evaluation_service/rest/client.rb +3770 -0
  41. data/lib/google/cloud/ces/v1beta/evaluation_service/rest/operations.rb +927 -0
  42. data/lib/google/cloud/ces/v1beta/evaluation_service/rest/service_stub.rb +2233 -0
  43. data/lib/google/cloud/ces/v1beta/evaluation_service/rest.rb +54 -0
  44. data/lib/google/cloud/ces/v1beta/evaluation_service.rb +56 -0
  45. data/lib/google/cloud/ces/v1beta/evaluation_service_pb.rb +93 -0
  46. data/lib/google/cloud/ces/v1beta/evaluation_service_services_pb.rb +116 -0
  47. data/lib/google/cloud/ces/v1beta/example_pb.rb +34 -0
  48. data/lib/google/cloud/ces/v1beta/fakes_pb.rb +25 -0
  49. data/lib/google/cloud/ces/v1beta/file_context_pb.rb +24 -0
  50. data/lib/google/cloud/ces/v1beta/file_search_tool_pb.rb +24 -0
  51. data/lib/google/cloud/ces/v1beta/golden_run_pb.rb +21 -0
  52. data/lib/google/cloud/ces/v1beta/google_search_tool_pb.rb +24 -0
  53. data/lib/google/cloud/ces/v1beta/guardrail_pb.rb +37 -0
  54. data/lib/google/cloud/ces/v1beta/mcp_tool_pb.rb +27 -0
  55. data/lib/google/cloud/ces/v1beta/mcp_toolset_pb.rb +28 -0
  56. data/lib/google/cloud/ces/v1beta/mocks_pb.rb +26 -0
  57. data/lib/google/cloud/ces/v1beta/omnichannel_pb.rb +31 -0
  58. data/lib/google/cloud/ces/v1beta/omnichannel_service_pb.rb +27 -0
  59. data/lib/google/cloud/ces/v1beta/open_api_tool_pb.rb +25 -0
  60. data/lib/google/cloud/ces/v1beta/open_api_toolset_pb.rb +25 -0
  61. data/lib/google/cloud/ces/v1beta/python_function_pb.rb +24 -0
  62. data/lib/google/cloud/ces/v1beta/rest.rb +42 -0
  63. data/lib/google/cloud/ces/v1beta/schema_pb.rb +25 -0
  64. data/lib/google/cloud/ces/v1beta/search_suggestions_pb.rb +22 -0
  65. data/lib/google/cloud/ces/v1beta/security_settings_pb.rb +27 -0
  66. data/lib/google/cloud/ces/v1beta/session_service/client.rb +762 -0
  67. data/lib/google/cloud/ces/v1beta/session_service/credentials.rb +48 -0
  68. data/lib/google/cloud/ces/v1beta/session_service/paths.rb +117 -0
  69. data/lib/google/cloud/ces/v1beta/session_service/rest/client.rb +562 -0
  70. data/lib/google/cloud/ces/v1beta/session_service/rest/service_stub.rb +199 -0
  71. data/lib/google/cloud/ces/v1beta/session_service/rest.rb +53 -0
  72. data/lib/google/cloud/ces/v1beta/session_service.rb +55 -0
  73. data/lib/google/cloud/ces/v1beta/session_service_pb.rb +54 -0
  74. data/lib/google/cloud/ces/v1beta/session_service_services_pb.rb +120 -0
  75. data/lib/google/cloud/ces/v1beta/system_tool_pb.rb +23 -0
  76. data/lib/google/cloud/ces/v1beta/tool_pb.rb +40 -0
  77. data/lib/google/cloud/ces/v1beta/tool_service/client.rb +733 -0
  78. data/lib/google/cloud/ces/v1beta/tool_service/credentials.rb +48 -0
  79. data/lib/google/cloud/ces/v1beta/tool_service/paths.rb +94 -0
  80. data/lib/google/cloud/ces/v1beta/tool_service/rest/client.rb +677 -0
  81. data/lib/google/cloud/ces/v1beta/tool_service/rest/service_stub.rb +267 -0
  82. data/lib/google/cloud/ces/v1beta/tool_service/rest.rb +53 -0
  83. data/lib/google/cloud/ces/v1beta/tool_service.rb +55 -0
  84. data/lib/google/cloud/ces/v1beta/tool_service_pb.rb +37 -0
  85. data/lib/google/cloud/ces/v1beta/tool_service_services_pb.rb +50 -0
  86. data/lib/google/cloud/ces/v1beta/toolset_pb.rb +30 -0
  87. data/lib/google/cloud/ces/v1beta/toolset_tool_pb.rb +24 -0
  88. data/lib/google/cloud/ces/v1beta/version.rb +7 -2
  89. data/lib/google/cloud/ces/v1beta/widget_service/client.rb +503 -0
  90. data/lib/google/cloud/ces/v1beta/widget_service/credentials.rb +48 -0
  91. data/lib/google/cloud/ces/v1beta/widget_service/paths.rb +75 -0
  92. data/lib/google/cloud/ces/v1beta/widget_service/rest/client.rb +461 -0
  93. data/lib/google/cloud/ces/v1beta/widget_service/rest/service_stub.rb +143 -0
  94. data/lib/google/cloud/ces/v1beta/widget_service/rest.rb +53 -0
  95. data/lib/google/cloud/ces/v1beta/widget_service.rb +55 -0
  96. data/lib/google/cloud/ces/v1beta/widget_service_pb.rb +28 -0
  97. data/lib/google/cloud/ces/v1beta/widget_service_services_pb.rb +46 -0
  98. data/lib/google/cloud/ces/v1beta/widget_tool_pb.rb +31 -0
  99. data/lib/google/cloud/ces/v1beta.rb +49 -0
  100. data/lib/google-cloud-ces-v1beta.rb +21 -0
  101. data/proto_docs/README.md +4 -0
  102. data/proto_docs/google/api/client.rb +593 -0
  103. data/proto_docs/google/api/field_behavior.rb +85 -0
  104. data/proto_docs/google/api/launch_stage.rb +71 -0
  105. data/proto_docs/google/api/resource.rb +227 -0
  106. data/proto_docs/google/cloud/ces/v1beta/agent.rb +233 -0
  107. data/proto_docs/google/cloud/ces/v1beta/agent_card.rb +122 -0
  108. data/proto_docs/google/cloud/ces/v1beta/agent_service.rb +1682 -0
  109. data/proto_docs/google/cloud/ces/v1beta/agent_tool.rb +48 -0
  110. data/proto_docs/google/cloud/ces/v1beta/agent_transfers.rb +111 -0
  111. data/proto_docs/google/cloud/ces/v1beta/app.rb +883 -0
  112. data/proto_docs/google/cloud/ces/v1beta/app_version.rb +83 -0
  113. data/proto_docs/google/cloud/ces/v1beta/auth.rb +214 -0
  114. data/proto_docs/google/cloud/ces/v1beta/bigquery_export.rb +45 -0
  115. data/proto_docs/google/cloud/ces/v1beta/changelog.rb +73 -0
  116. data/proto_docs/google/cloud/ces/v1beta/client_function.rb +48 -0
  117. data/proto_docs/google/cloud/ces/v1beta/common.rb +375 -0
  118. data/proto_docs/google/cloud/ces/v1beta/connector_tool.rb +122 -0
  119. data/proto_docs/google/cloud/ces/v1beta/connector_toolset.rb +52 -0
  120. data/proto_docs/google/cloud/ces/v1beta/conversation.rb +159 -0
  121. data/proto_docs/google/cloud/ces/v1beta/data_store.rb +102 -0
  122. data/proto_docs/google/cloud/ces/v1beta/data_store_tool.rb +328 -0
  123. data/proto_docs/google/cloud/ces/v1beta/deployment.rb +123 -0
  124. data/proto_docs/google/cloud/ces/v1beta/evaluation.rb +1687 -0
  125. data/proto_docs/google/cloud/ces/v1beta/evaluation_metrics_config.rb +151 -0
  126. data/proto_docs/google/cloud/ces/v1beta/evaluation_service.rb +1087 -0
  127. data/proto_docs/google/cloud/ces/v1beta/example.rb +245 -0
  128. data/proto_docs/google/cloud/ces/v1beta/fakes.rb +67 -0
  129. data/proto_docs/google/cloud/ces/v1beta/file_context.rb +50 -0
  130. data/proto_docs/google/cloud/ces/v1beta/file_search_tool.rb +60 -0
  131. data/proto_docs/google/cloud/ces/v1beta/golden_run.rb +40 -0
  132. data/proto_docs/google/cloud/ces/v1beta/google_search_tool.rb +76 -0
  133. data/proto_docs/google/cloud/ces/v1beta/guardrail.rb +324 -0
  134. data/proto_docs/google/cloud/ces/v1beta/mcp_tool.rb +110 -0
  135. data/proto_docs/google/cloud/ces/v1beta/mcp_toolset.rb +118 -0
  136. data/proto_docs/google/cloud/ces/v1beta/mocks.rb +60 -0
  137. data/proto_docs/google/cloud/ces/v1beta/omnichannel.rb +163 -0
  138. data/proto_docs/google/cloud/ces/v1beta/omnichannel_service.rb +45 -0
  139. data/proto_docs/google/cloud/ces/v1beta/open_api_tool.rb +66 -0
  140. data/proto_docs/google/cloud/ces/v1beta/open_api_toolset.rb +57 -0
  141. data/proto_docs/google/cloud/ces/v1beta/python_function.rb +47 -0
  142. data/proto_docs/google/cloud/ces/v1beta/schema.rb +162 -0
  143. data/proto_docs/google/cloud/ces/v1beta/search_suggestions.rb +55 -0
  144. data/proto_docs/google/cloud/ces/v1beta/security_settings.rb +80 -0
  145. data/proto_docs/google/cloud/ces/v1beta/session_service.rb +493 -0
  146. data/proto_docs/google/cloud/ces/v1beta/system_tool.rb +38 -0
  147. data/proto_docs/google/cloud/ces/v1beta/tool.rb +136 -0
  148. data/proto_docs/google/cloud/ces/v1beta/tool_service.rb +185 -0
  149. data/proto_docs/google/cloud/ces/v1beta/toolset.rb +80 -0
  150. data/proto_docs/google/cloud/ces/v1beta/toolset_tool.rb +40 -0
  151. data/proto_docs/google/cloud/ces/v1beta/widget_service.rb +62 -0
  152. data/proto_docs/google/cloud/ces/v1beta/widget_tool.rb +182 -0
  153. data/proto_docs/google/longrunning/operations.rb +191 -0
  154. data/proto_docs/google/protobuf/any.rb +145 -0
  155. data/proto_docs/google/protobuf/duration.rb +98 -0
  156. data/proto_docs/google/protobuf/empty.rb +34 -0
  157. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  158. data/proto_docs/google/protobuf/struct.rb +108 -0
  159. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  160. data/proto_docs/google/rpc/status.rb +48 -0
  161. metadata +208 -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 V1beta
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::V1beta::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::V1beta::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::V1beta::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::V1beta::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::V1beta::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::V1beta::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::V1beta::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::V1beta::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::V1beta::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::V1beta::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::V1beta::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::V1beta::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::V1beta::Guardrail::ModelSafety::HarmCategory]
231
+ # Required. The harm category.
232
+ # @!attribute [rw] threshold
233
+ # @return [::Google::Cloud::Ces::V1beta::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::V1beta::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::V1beta::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::V1beta::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::V1beta::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,110 @@
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 V1beta
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] 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.
34
+ # @!attribute [rw] description
35
+ # @return [::String]
36
+ # Optional. The description of the MCP tool.
37
+ # @!attribute [rw] input_schema
38
+ # @return [::Google::Cloud::Ces::V1beta::Schema]
39
+ # Optional. The schema of the input arguments of the MCP tool.
40
+ # @!attribute [rw] output_schema
41
+ # @return [::Google::Cloud::Ces::V1beta::Schema]
42
+ # Optional. The schema of the output arguments of the MCP tool.
43
+ # @!attribute [rw] server_address
44
+ # @return [::String]
45
+ # Required. The server address of the MCP server, e.g.,
46
+ # "https://example.com/mcp/". If the server is built with the MCP SDK, the
47
+ # url should be suffixed with
48
+ # "/mcp/". Only Streamable HTTP transport based servers are supported. This
49
+ # is the same as the server_address in the McpToolset. See
50
+ # https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http
51
+ # for more details.
52
+ # @!attribute [rw] api_authentication
53
+ # @return [::Google::Cloud::Ces::V1beta::ApiAuthentication]
54
+ # Optional. Authentication information required to execute the tool against
55
+ # the MCP server. For bearer token authentication, the token applies only to
56
+ # tool execution, not to listing tools. This requires that tools can be
57
+ # listed without authentication.
58
+ # @!attribute [rw] tls_config
59
+ # @return [::Google::Cloud::Ces::V1beta::TlsConfig]
60
+ # Optional. The TLS configuration. Includes the custom server certificates
61
+ # that the client should trust.
62
+ # @!attribute [rw] service_directory_config
63
+ # @return [::Google::Cloud::Ces::V1beta::ServiceDirectoryConfig]
64
+ # Optional. Service Directory configuration for VPC-SC, used to resolve
65
+ # service names within a perimeter.
66
+ # @!attribute [rw] custom_headers
67
+ # @return [::Google::Protobuf::Map{::String => ::String}]
68
+ # Optional. The custom headers to send in the request to the MCP server. The
69
+ # values must be in the format `$context.variables.<name_of_variable>` and
70
+ # can be set in the session variables. See
71
+ # https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection
72
+ # for more details.
73
+ # @!attribute [r] state
74
+ # @return [::Google::Cloud::Ces::V1beta::McpTool::State]
75
+ # Output only. The dynamic availability state of the tool on the external
76
+ # server.
77
+ class McpTool
78
+ include ::Google::Protobuf::MessageExts
79
+ extend ::Google::Protobuf::MessageExts::ClassMethods
80
+
81
+ # @!attribute [rw] key
82
+ # @return [::String]
83
+ # @!attribute [rw] value
84
+ # @return [::String]
85
+ class CustomHeadersEntry
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
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
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,118 @@
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 V1beta
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::V1beta::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::V1beta::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::V1beta::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
+ # @!attribute [rw] tool_overrides
56
+ # @return [::Array<::Google::Cloud::Ces::V1beta::McpToolOverride>]
57
+ # Optional. Overrides for individual tools within this toolset.
58
+ # This allows overriding specific details like descriptions, names,
59
+ # or pinning the tools' states so they aren't fully dynamic.
60
+ class McpToolset
61
+ include ::Google::Protobuf::MessageExts
62
+ extend ::Google::Protobuf::MessageExts::ClassMethods
63
+
64
+ # @!attribute [rw] key
65
+ # @return [::String]
66
+ # @!attribute [rw] value
67
+ # @return [::String]
68
+ class CustomHeadersEntry
69
+ include ::Google::Protobuf::MessageExts
70
+ extend ::Google::Protobuf::MessageExts::ClassMethods
71
+ end
72
+ end
73
+
74
+ # Overrides associated with a given tool in a Toolset.
75
+ # This enables "pinning" or "overriding" of tool definitions from the external
76
+ # dynamic server.
77
+ # @!attribute [rw] tool
78
+ # @return [::String]
79
+ # Required. The original name of the tool as it is emitted by the MCP server.
80
+ # @!attribute [rw] name_override
81
+ # @return [::String]
82
+ # Optional. If present, this tool uses this name in the Agent instead of the
83
+ # original name. This is primarily used as an alias if the MCP server offers
84
+ # poorly named tools.
85
+ # @!attribute [rw] description_override
86
+ # @return [::String]
87
+ # Optional. If present, this tool uses this description instead of the
88
+ # original description from the server.
89
+ # @!attribute [r] snapshot
90
+ # @return [::Google::Cloud::Ces::V1beta::McpToolDefinition]
91
+ # Output only. If present, this tool is "Pinned" and uses the snapshot values
92
+ # as fallbacks if the server becomes temporarily unavailable or if no
93
+ # Override is present.
94
+ class McpToolOverride
95
+ include ::Google::Protobuf::MessageExts
96
+ extend ::Google::Protobuf::MessageExts::ClassMethods
97
+ end
98
+
99
+ # Container for a tool's core definition elements that are snapshot.
100
+ # Schemas in the snapshot are used as-is and cannot be overridden.
101
+ # @!attribute [r] description
102
+ # @return [::String]
103
+ # Output only. The description of the MCP tool. This can be overridden
104
+ # by `description_override` in `McpToolOverride`.
105
+ # @!attribute [r] input_schema
106
+ # @return [::Google::Cloud::Ces::V1beta::Schema]
107
+ # Output only. The schema of the input arguments of the MCP tool.
108
+ # @!attribute [r] output_schema
109
+ # @return [::Google::Cloud::Ces::V1beta::Schema]
110
+ # Output only. The schema of the output arguments of the MCP tool.
111
+ class McpToolDefinition
112
+ include ::Google::Protobuf::MessageExts
113
+ extend ::Google::Protobuf::MessageExts::ClassMethods
114
+ end
115
+ end
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,60 @@
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 V1beta
24
+ # A mocked tool call.
25
+ #
26
+ # Expresses the target tool + a pattern to match against that tool's
27
+ # args / inputs. If the pattern matches, then the mock response will be
28
+ # returned.
29
+ # @!attribute [rw] tool_id
30
+ # @return [::String]
31
+ # Optional. The name of the tool to mock.
32
+ # Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`
33
+ #
34
+ # Note: The following fields are mutually exclusive: `tool_id`, `toolset`. If a field in that set is populated, all other fields in the set will automatically be cleared.
35
+ # @!attribute [rw] toolset
36
+ # @return [::Google::Cloud::Ces::V1beta::ToolsetTool]
37
+ # Optional. The toolset to mock.
38
+ #
39
+ # Note: The following fields are mutually exclusive: `toolset`, `tool_id`. If a field in that set is populated, all other fields in the set will automatically be cleared.
40
+ # @!attribute [rw] tool
41
+ # @deprecated This field is deprecated and may be removed in the next major version update.
42
+ # @return [::String]
43
+ # Optional. Deprecated. Use tool_identifier instead.
44
+ # @!attribute [rw] expected_args_pattern
45
+ # @return [::Google::Protobuf::Struct]
46
+ # Required. A pattern to match against the args / inputs of all dispatched
47
+ # tool calls. If the tool call inputs match this pattern, then mock output
48
+ # will be returned.
49
+ # @!attribute [rw] mock_response
50
+ # @return [::Google::Protobuf::Struct]
51
+ # Optional. The mock response / output to return if the tool call args /
52
+ # inputs match the pattern.
53
+ class MockedToolCall
54
+ include ::Google::Protobuf::MessageExts
55
+ extend ::Google::Protobuf::MessageExts::ClassMethods
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end