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,493 @@
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
+ # Mock tool calls configuration for the session.
25
+ # @!attribute [rw] mocked_tool_calls
26
+ # @return [::Array<::Google::Cloud::Ces::V1beta::MockedToolCall>]
27
+ # Optional. All tool calls to mock for the duration of the session.
28
+ # @!attribute [rw] unmatched_tool_call_behavior
29
+ # @return [::Google::Cloud::Ces::V1beta::MockConfig::UnmatchedToolCallBehavior]
30
+ # Required. Beavhior for tool calls that don't match any args patterns in
31
+ # mocked_tool_calls.
32
+ class MockConfig
33
+ include ::Google::Protobuf::MessageExts
34
+ extend ::Google::Protobuf::MessageExts::ClassMethods
35
+
36
+ # What to do when a tool call doesn't match any mocked tool calls.
37
+ module UnmatchedToolCallBehavior
38
+ # Default value. This value is unused.
39
+ UNMATCHED_TOOL_CALL_BEHAVIOR_UNSPECIFIED = 0
40
+
41
+ # Throw an error for any tool calls that don't match a mock expected input
42
+ # pattern.
43
+ FAIL = 1
44
+
45
+ # For unmatched tool calls, pass the tool call through to real tool.
46
+ PASS_THROUGH = 2
47
+ end
48
+ end
49
+
50
+ # InputAudioConfig configures how the CES agent should interpret the incoming
51
+ # audio data.
52
+ # @!attribute [rw] audio_encoding
53
+ # @return [::Google::Cloud::Ces::V1beta::AudioEncoding]
54
+ # Required. The encoding of the input audio data.
55
+ # @!attribute [rw] sample_rate_hertz
56
+ # @return [::Integer]
57
+ # Required. The sample rate (in Hertz) of the input audio data.
58
+ # @!attribute [rw] noise_suppression_level
59
+ # @return [::String]
60
+ # Optional. Whether to enable noise suppression on the input audio.
61
+ # Available values are "low", "moderate", "high", "very_high".
62
+ class InputAudioConfig
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
+ end
66
+
67
+ # OutputAudioConfig configures how the CES agent should synthesize outgoing
68
+ # audio responses.
69
+ # @!attribute [rw] audio_encoding
70
+ # @return [::Google::Cloud::Ces::V1beta::AudioEncoding]
71
+ # Required. The encoding of the output audio data.
72
+ # @!attribute [rw] sample_rate_hertz
73
+ # @return [::Integer]
74
+ # Required. The sample rate (in Hertz) of the output audio data.
75
+ class OutputAudioConfig
76
+ include ::Google::Protobuf::MessageExts
77
+ extend ::Google::Protobuf::MessageExts::ClassMethods
78
+ end
79
+
80
+ # The configuration for the session.
81
+ # @!attribute [rw] session
82
+ # @return [::String]
83
+ # Required. The unique identifier of the session.
84
+ # Format:
85
+ # `projects/{project}/locations/{location}/apps/{app}/sessions/{session}`
86
+ # @!attribute [rw] input_audio_config
87
+ # @return [::Google::Cloud::Ces::V1beta::InputAudioConfig]
88
+ # Optional. Configuration for processing the input audio.
89
+ # @!attribute [rw] output_audio_config
90
+ # @return [::Google::Cloud::Ces::V1beta::OutputAudioConfig]
91
+ # Optional. Configuration for generating the output audio.
92
+ # @!attribute [rw] historical_contexts
93
+ # @return [::Array<::Google::Cloud::Ces::V1beta::Message>]
94
+ # Optional. The historical context of the session, including user inputs,
95
+ # agent responses, and other messages. Typically, CES agent would manage
96
+ # session automatically so client doesn't need to explicitly populate this
97
+ # field. However, client can optionally override the historical contexts to
98
+ # force the session start from certain state.
99
+ # @!attribute [rw] entry_agent
100
+ # @return [::String]
101
+ # Optional. The entry agent to handle the session. If not specified, the
102
+ # session will be handled by the [root
103
+ # agent][google.cloud.ces.v1beta.App.root_agent] of the app. Format:
104
+ # `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`
105
+ # @!attribute [rw] deployment
106
+ # @return [::String]
107
+ # Optional. The deployment of the app to use for the session.
108
+ # Format:
109
+ # `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}`
110
+ # @!attribute [rw] time_zone
111
+ # @return [::String]
112
+ # Optional. The time zone of the user. If provided, the agent will use the
113
+ # time zone for date and time related variables. Otherwise, the agent will
114
+ # use the time zone specified in the App.time_zone_settings.
115
+ #
116
+ # The format is the IANA Time Zone Database time zone, e.g.
117
+ # "America/Los_Angeles".
118
+ # @!attribute [rw] use_tool_fakes
119
+ # @return [::Boolean]
120
+ # Optional. Whether to use tool fakes for the session.
121
+ # If this field is set, the agent will attempt use tool fakes instead of
122
+ # calling the real tools.
123
+ # @!attribute [rw] remote_dialogflow_query_parameters
124
+ # @return [::Google::Cloud::Ces::V1beta::SessionConfig::RemoteDialogflowQueryParameters]
125
+ # Optional.
126
+ # [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters)
127
+ # to send to the remote
128
+ # [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents)
129
+ # agent when the session control is transferred to the remote agent.
130
+ # @!attribute [rw] enable_text_streaming
131
+ # @return [::Boolean]
132
+ # Optional. Whether to enable streaming text outputs from the model.
133
+ # By default, text outputs from the model are collected before sending to the
134
+ # client.
135
+ # NOTE: This is only supported for text (non-voice) sessions via
136
+ # {::Google::Cloud::Ces::V1beta::SessionService::Client#stream_run_session StreamRunSession}
137
+ # or {::Google::Cloud::Ces::V1beta::SessionService::Client#bidi_run_session BidiRunSession}.
138
+ class SessionConfig
139
+ include ::Google::Protobuf::MessageExts
140
+ extend ::Google::Protobuf::MessageExts::ClassMethods
141
+
142
+ # [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters)
143
+ # to send to the remote
144
+ # [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents)
145
+ # agent when the session control is transferred to the remote agent.
146
+ # @!attribute [rw] webhook_headers
147
+ # @return [::Google::Protobuf::Map{::String => ::String}]
148
+ # Optional. The HTTP headers to be sent as webhook_headers in
149
+ # [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).
150
+ # @!attribute [rw] payload
151
+ # @return [::Google::Protobuf::Struct]
152
+ # Optional. The payload to be sent in
153
+ # [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).
154
+ # @!attribute [rw] end_user_metadata
155
+ # @return [::Google::Protobuf::Struct]
156
+ # Optional. The end user metadata to be sent in
157
+ # [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters).
158
+ class RemoteDialogflowQueryParameters
159
+ include ::Google::Protobuf::MessageExts
160
+ extend ::Google::Protobuf::MessageExts::ClassMethods
161
+
162
+ # @!attribute [rw] key
163
+ # @return [::String]
164
+ # @!attribute [rw] value
165
+ # @return [::String]
166
+ class WebhookHeadersEntry
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+ end
170
+ end
171
+ end
172
+
173
+ # Request for the client to execute the tools and return the execution results
174
+ # before continuing the session.
175
+ # @!attribute [rw] tool_calls
176
+ # @return [::Array<::Google::Cloud::Ces::V1beta::ToolCall>]
177
+ # Optional. The list of tool calls to execute.
178
+ class ToolCalls
179
+ include ::Google::Protobuf::MessageExts
180
+ extend ::Google::Protobuf::MessageExts::ClassMethods
181
+ end
182
+
183
+ # Execution results for the requested tool calls from the client.
184
+ # @!attribute [rw] tool_responses
185
+ # @return [::Array<::Google::Cloud::Ces::V1beta::ToolResponse>]
186
+ # Optional. The list of tool execution results.
187
+ class ToolResponses
188
+ include ::Google::Protobuf::MessageExts
189
+ extend ::Google::Protobuf::MessageExts::ClassMethods
190
+ end
191
+
192
+ # Citations associated with the agent response.
193
+ # @!attribute [rw] cited_chunks
194
+ # @return [::Array<::Google::Cloud::Ces::V1beta::Citations::CitedChunk>]
195
+ # List of cited pieces of information.
196
+ class Citations
197
+ include ::Google::Protobuf::MessageExts
198
+ extend ::Google::Protobuf::MessageExts::ClassMethods
199
+
200
+ # Piece of cited information.
201
+ # @!attribute [rw] uri
202
+ # @return [::String]
203
+ # URI used for citation.
204
+ # @!attribute [rw] title
205
+ # @return [::String]
206
+ # Title of the cited document.
207
+ # @!attribute [rw] text
208
+ # @return [::String]
209
+ # Text used for citation.
210
+ # @!attribute [rw] requires_attribution
211
+ # @return [::Boolean]
212
+ # Whether this citation requires attribution to be shown to the end users.
213
+ class CitedChunk
214
+ include ::Google::Protobuf::MessageExts
215
+ extend ::Google::Protobuf::MessageExts::ClassMethods
216
+ end
217
+ end
218
+
219
+ # Event input.
220
+ # @!attribute [rw] event
221
+ # @return [::String]
222
+ # Required. The name of the event.
223
+ class Event
224
+ include ::Google::Protobuf::MessageExts
225
+ extend ::Google::Protobuf::MessageExts::ClassMethods
226
+ end
227
+
228
+ # Input for the session.
229
+ # @!attribute [rw] text
230
+ # @return [::String]
231
+ # Optional. Text data from the end user.
232
+ #
233
+ # Note: The following fields are mutually exclusive: `text`, `dtmf`, `audio`, `tool_responses`, `image`, `blob`, `variables`, `event`. If a field in that set is populated, all other fields in the set will automatically be cleared.
234
+ # @!attribute [rw] dtmf
235
+ # @return [::String]
236
+ # Optional. DTMF digits from the end user.
237
+ #
238
+ # Note: The following fields are mutually exclusive: `dtmf`, `text`, `audio`, `tool_responses`, `image`, `blob`, `variables`, `event`. If a field in that set is populated, all other fields in the set will automatically be cleared.
239
+ # @!attribute [rw] audio
240
+ # @return [::String]
241
+ # Optional. Audio data from the end user.
242
+ #
243
+ # Note: The following fields are mutually exclusive: `audio`, `text`, `dtmf`, `tool_responses`, `image`, `blob`, `variables`, `event`. If a field in that set is populated, all other fields in the set will automatically be cleared.
244
+ # @!attribute [rw] tool_responses
245
+ # @return [::Google::Cloud::Ces::V1beta::ToolResponses]
246
+ # Optional. Execution results for the tool calls from the client.
247
+ #
248
+ # Note: The following fields are mutually exclusive: `tool_responses`, `text`, `dtmf`, `audio`, `image`, `blob`, `variables`, `event`. If a field in that set is populated, all other fields in the set will automatically be cleared.
249
+ # @!attribute [rw] image
250
+ # @return [::Google::Cloud::Ces::V1beta::Image]
251
+ # Optional. Image data from the end user.
252
+ #
253
+ # Note: The following fields are mutually exclusive: `image`, `text`, `dtmf`, `audio`, `tool_responses`, `blob`, `variables`, `event`. If a field in that set is populated, all other fields in the set will automatically be cleared.
254
+ # @!attribute [rw] blob
255
+ # @return [::Google::Cloud::Ces::V1beta::Blob]
256
+ # Optional. Blob data from the end user.
257
+ #
258
+ # Note: The following fields are mutually exclusive: `blob`, `text`, `dtmf`, `audio`, `tool_responses`, `image`, `variables`, `event`. If a field in that set is populated, all other fields in the set will automatically be cleared.
259
+ # @!attribute [rw] variables
260
+ # @return [::Google::Protobuf::Struct]
261
+ # Optional. Contextual variables for the session, keyed by name. Only
262
+ # variables declared in the app will be used by the CES agent.
263
+ #
264
+ # Unrecognized variables will still be sent to the [Dialogflow
265
+ # agent][Agent.RemoteDialogflowAgent] as additional session parameters.
266
+ #
267
+ # Note: The following fields are mutually exclusive: `variables`, `text`, `dtmf`, `audio`, `tool_responses`, `image`, `blob`, `event`. If a field in that set is populated, all other fields in the set will automatically be cleared.
268
+ # @!attribute [rw] event
269
+ # @return [::Google::Cloud::Ces::V1beta::Event]
270
+ # Optional. Event input.
271
+ #
272
+ # Note: The following fields are mutually exclusive: `event`, `text`, `dtmf`, `audio`, `tool_responses`, `image`, `blob`, `variables`. If a field in that set is populated, all other fields in the set will automatically be cleared.
273
+ # @!attribute [rw] will_continue
274
+ # @return [::Boolean]
275
+ # Optional. A flag to indicate if the current message is a fragment of a
276
+ # larger input in the bidi streaming session.
277
+ #
278
+ # When set to `true`, the agent defers processing until it receives a
279
+ # subsequent message where `will_continue` is `false`, or until the system
280
+ # detects an endpoint in the audio input.
281
+ #
282
+ # NOTE: This field does not apply to audio and DTMF inputs, as they are
283
+ # always processed automatically based on the endpointing signal.
284
+ class SessionInput
285
+ include ::Google::Protobuf::MessageExts
286
+ extend ::Google::Protobuf::MessageExts::ClassMethods
287
+ end
288
+
289
+ # Output for the session.
290
+ # @!attribute [rw] text
291
+ # @return [::String]
292
+ # Output text from the CES agent.
293
+ #
294
+ # Note: The following fields are mutually exclusive: `text`, `audio`, `tool_calls`, `citations`, `google_search_suggestions`, `end_session`, `payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
295
+ # @!attribute [rw] audio
296
+ # @return [::String]
297
+ # Output audio from the CES agent.
298
+ #
299
+ # Note: The following fields are mutually exclusive: `audio`, `text`, `tool_calls`, `citations`, `google_search_suggestions`, `end_session`, `payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
300
+ # @!attribute [rw] tool_calls
301
+ # @return [::Google::Cloud::Ces::V1beta::ToolCalls]
302
+ # Request for the client to execute the tools.
303
+ #
304
+ # Note: The following fields are mutually exclusive: `tool_calls`, `text`, `audio`, `citations`, `google_search_suggestions`, `end_session`, `payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
305
+ # @!attribute [rw] citations
306
+ # @return [::Google::Cloud::Ces::V1beta::Citations]
307
+ # Citations that provide the source information for the agent's generated
308
+ # text.
309
+ #
310
+ # Note: The following fields are mutually exclusive: `citations`, `text`, `audio`, `tool_calls`, `google_search_suggestions`, `end_session`, `payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
311
+ # @!attribute [rw] google_search_suggestions
312
+ # @return [::Google::Cloud::Ces::V1beta::GoogleSearchSuggestions]
313
+ # The suggestions returned from Google Search as a result of invoking the
314
+ # {::Google::Cloud::Ces::V1beta::GoogleSearchTool GoogleSearchTool}.
315
+ #
316
+ # Note: The following fields are mutually exclusive: `google_search_suggestions`, `text`, `audio`, `tool_calls`, `citations`, `end_session`, `payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
317
+ # @!attribute [rw] end_session
318
+ # @return [::Google::Cloud::Ces::V1beta::EndSession]
319
+ # Indicates the session has ended.
320
+ #
321
+ # Note: The following fields are mutually exclusive: `end_session`, `text`, `audio`, `tool_calls`, `citations`, `google_search_suggestions`, `payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
322
+ # @!attribute [rw] payload
323
+ # @return [::Google::Protobuf::Struct]
324
+ # Custom payload with structured output from the CES agent.
325
+ #
326
+ # Note: The following fields are mutually exclusive: `payload`, `text`, `audio`, `tool_calls`, `citations`, `google_search_suggestions`, `end_session`. If a field in that set is populated, all other fields in the set will automatically be cleared.
327
+ # @!attribute [rw] turn_index
328
+ # @return [::Integer]
329
+ # Indicates the sequential order of conversation turn to which this output
330
+ # belongs to, starting from 1.
331
+ # @!attribute [rw] turn_completed
332
+ # @return [::Boolean]
333
+ # If true, the CES agent has detected the end of the current conversation
334
+ # turn and will provide no further output for this turn.
335
+ # @!attribute [rw] diagnostic_info
336
+ # @return [::Google::Cloud::Ces::V1beta::SessionOutput::DiagnosticInfo]
337
+ # Optional. Diagnostic information contains execution details during the
338
+ # processing of the input. Only populated in the last SessionOutput (with
339
+ # `turn_completed=true`) for each turn.
340
+ class SessionOutput
341
+ include ::Google::Protobuf::MessageExts
342
+ extend ::Google::Protobuf::MessageExts::ClassMethods
343
+
344
+ # Contains execution details during the processing.
345
+ # @!attribute [rw] messages
346
+ # @return [::Array<::Google::Cloud::Ces::V1beta::Message>]
347
+ # List of the messages that happened during the processing.
348
+ # @!attribute [rw] root_span
349
+ # @return [::Google::Cloud::Ces::V1beta::Span]
350
+ # A trace of the entire request processing, represented as a root span.
351
+ # This span can contain nested child spans for specific operations.
352
+ class DiagnosticInfo
353
+ include ::Google::Protobuf::MessageExts
354
+ extend ::Google::Protobuf::MessageExts::ClassMethods
355
+ end
356
+ end
357
+
358
+ # Speech recognition result for the audio input.
359
+ # @!attribute [rw] transcript
360
+ # @return [::String]
361
+ # Optional. Concatenated user speech segments captured during the current
362
+ # turn.
363
+ class RecognitionResult
364
+ include ::Google::Protobuf::MessageExts
365
+ extend ::Google::Protobuf::MessageExts::ClassMethods
366
+ end
367
+
368
+ # Indicates the agent's audio response has been interrupted. The client should
369
+ # immediately stop any current audio playback (e.g., due to user barge-in or
370
+ # a new agent response being generated).
371
+ # @!attribute [rw] barge_in
372
+ # @return [::Boolean]
373
+ # Whether the interruption is caused by a user barge-in event.
374
+ class InterruptionSignal
375
+ include ::Google::Protobuf::MessageExts
376
+ extend ::Google::Protobuf::MessageExts::ClassMethods
377
+ end
378
+
379
+ # Indicates the session has terminated, due to either successful completion
380
+ # (e.g. user says "Good bye!" ) or an agent escalation.
381
+ #
382
+ # The agent will not process any further inputs after session is terminated and
383
+ # the client should half-close and disconnect after receiving all remaining
384
+ # responses from the agent.
385
+ # @!attribute [rw] metadata
386
+ # @return [::Google::Protobuf::Struct]
387
+ # Optional. Provides additional information about the end session signal,
388
+ # such as the reason for ending the session.
389
+ class EndSession
390
+ include ::Google::Protobuf::MessageExts
391
+ extend ::Google::Protobuf::MessageExts::ClassMethods
392
+ end
393
+
394
+ # Indicates that the server will disconnect soon and the client should
395
+ # half-close and restart the connection.
396
+ class GoAway
397
+ include ::Google::Protobuf::MessageExts
398
+ extend ::Google::Protobuf::MessageExts::ClassMethods
399
+ end
400
+
401
+ # Request message for
402
+ # {::Google::Cloud::Ces::V1beta::SessionService::Client#run_session SessionService.RunSession}.
403
+ # @!attribute [rw] config
404
+ # @return [::Google::Cloud::Ces::V1beta::SessionConfig]
405
+ # Required. The configuration for the session.
406
+ # @!attribute [rw] inputs
407
+ # @return [::Array<::Google::Cloud::Ces::V1beta::SessionInput>]
408
+ # Required. Inputs for the session.
409
+ class RunSessionRequest
410
+ include ::Google::Protobuf::MessageExts
411
+ extend ::Google::Protobuf::MessageExts::ClassMethods
412
+ end
413
+
414
+ # Response message for
415
+ # {::Google::Cloud::Ces::V1beta::SessionService::Client#run_session SessionService.RunSession}.
416
+ # @!attribute [rw] outputs
417
+ # @return [::Array<::Google::Cloud::Ces::V1beta::SessionOutput>]
418
+ # Outputs for the session.
419
+ class RunSessionResponse
420
+ include ::Google::Protobuf::MessageExts
421
+ extend ::Google::Protobuf::MessageExts::ClassMethods
422
+ end
423
+
424
+ # The top-level message sent by the client for the
425
+ # {::Google::Cloud::Ces::V1beta::SessionService::Client#bidi_run_session SessionService.BidiRunSession}
426
+ # method.
427
+ # @!attribute [rw] config
428
+ # @return [::Google::Cloud::Ces::V1beta::SessionConfig]
429
+ # Optional. The initial config message for the session.
430
+ #
431
+ # Note: The following fields are mutually exclusive: `config`, `realtime_input`. If a field in that set is populated, all other fields in the set will automatically be cleared.
432
+ # @!attribute [rw] realtime_input
433
+ # @return [::Google::Cloud::Ces::V1beta::SessionInput]
434
+ # Optional. Realtime input for the session.
435
+ #
436
+ # Note: The following fields are mutually exclusive: `realtime_input`, `config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
437
+ class BidiSessionClientMessage
438
+ include ::Google::Protobuf::MessageExts
439
+ extend ::Google::Protobuf::MessageExts::ClassMethods
440
+ end
441
+
442
+ # The top-level message returned from
443
+ # {::Google::Cloud::Ces::V1beta::SessionService::Client#bidi_run_session SessionService.BidiRunSession}
444
+ # method.
445
+ # @!attribute [rw] session_output
446
+ # @return [::Google::Cloud::Ces::V1beta::SessionOutput]
447
+ # Optional. Processing result from the CES agent.
448
+ #
449
+ # Note: The following fields are mutually exclusive: `session_output`, `recognition_result`, `interruption_signal`, `end_session`, `go_away`. If a field in that set is populated, all other fields in the set will automatically be cleared.
450
+ # @!attribute [rw] recognition_result
451
+ # @return [::Google::Cloud::Ces::V1beta::RecognitionResult]
452
+ # Optional. Realtime speech recognition result for the audio input.
453
+ #
454
+ # Note: The following fields are mutually exclusive: `recognition_result`, `session_output`, `interruption_signal`, `end_session`, `go_away`. If a field in that set is populated, all other fields in the set will automatically be cleared.
455
+ # @!attribute [rw] interruption_signal
456
+ # @return [::Google::Cloud::Ces::V1beta::InterruptionSignal]
457
+ # Optional. Indicates the agent's audio response has been interrupted.
458
+ #
459
+ # Note: The following fields are mutually exclusive: `interruption_signal`, `session_output`, `recognition_result`, `end_session`, `go_away`. If a field in that set is populated, all other fields in the set will automatically be cleared.
460
+ # @!attribute [rw] end_session
461
+ # @return [::Google::Cloud::Ces::V1beta::EndSession]
462
+ # Optional. Indicates that the session has ended.
463
+ #
464
+ # Note: The following fields are mutually exclusive: `end_session`, `session_output`, `recognition_result`, `interruption_signal`, `go_away`. If a field in that set is populated, all other fields in the set will automatically be cleared.
465
+ # @!attribute [rw] go_away
466
+ # @return [::Google::Cloud::Ces::V1beta::GoAway]
467
+ # Optional. Indicates that the server will disconnect soon and the client
468
+ # should half-close and restart the connection.
469
+ #
470
+ # Note: The following fields are mutually exclusive: `go_away`, `session_output`, `recognition_result`, `interruption_signal`, `end_session`. If a field in that set is populated, all other fields in the set will automatically be cleared.
471
+ class BidiSessionServerMessage
472
+ include ::Google::Protobuf::MessageExts
473
+ extend ::Google::Protobuf::MessageExts::ClassMethods
474
+ end
475
+
476
+ # AudioEncoding specifies the encoding format for audio data.
477
+ module AudioEncoding
478
+ # Unspecified audio encoding.
479
+ AUDIO_ENCODING_UNSPECIFIED = 0
480
+
481
+ # 16-bit linear PCM audio encoding.
482
+ LINEAR16 = 1
483
+
484
+ # 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
485
+ MULAW = 2
486
+
487
+ # 8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law.
488
+ ALAW = 3
489
+ end
490
+ end
491
+ end
492
+ end
493
+ end
@@ -0,0 +1,38 @@
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
+ # Pre-defined system tool.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Required. The name of the system tool.
28
+ # @!attribute [r] description
29
+ # @return [::String]
30
+ # Output only. The description of the system tool.
31
+ class SystemTool
32
+ include ::Google::Protobuf::MessageExts
33
+ extend ::Google::Protobuf::MessageExts::ClassMethods
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,136 @@
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 tool represents an action that the CES agent can take to achieve certain
25
+ # goals.
26
+ # @!attribute [rw] client_function
27
+ # @return [::Google::Cloud::Ces::V1beta::ClientFunction]
28
+ # Optional. The client function.
29
+ #
30
+ # Note: The following fields are mutually exclusive: `client_function`, `open_api_tool`, `google_search_tool`, `connector_tool`, `data_store_tool`, `python_function`, `mcp_tool`, `file_search_tool`, `system_tool`, `agent_tool`, `widget_tool`, `remote_agent_tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
31
+ # @!attribute [rw] open_api_tool
32
+ # @return [::Google::Cloud::Ces::V1beta::OpenApiTool]
33
+ # Optional. The open API tool.
34
+ #
35
+ # Note: The following fields are mutually exclusive: `open_api_tool`, `client_function`, `google_search_tool`, `connector_tool`, `data_store_tool`, `python_function`, `mcp_tool`, `file_search_tool`, `system_tool`, `agent_tool`, `widget_tool`, `remote_agent_tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
36
+ # @!attribute [rw] google_search_tool
37
+ # @return [::Google::Cloud::Ces::V1beta::GoogleSearchTool]
38
+ # Optional. The google search tool.
39
+ #
40
+ # Note: The following fields are mutually exclusive: `google_search_tool`, `client_function`, `open_api_tool`, `connector_tool`, `data_store_tool`, `python_function`, `mcp_tool`, `file_search_tool`, `system_tool`, `agent_tool`, `widget_tool`, `remote_agent_tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
41
+ # @!attribute [rw] connector_tool
42
+ # @return [::Google::Cloud::Ces::V1beta::ConnectorTool]
43
+ # Optional. The Integration Connector tool.
44
+ #
45
+ # Note: The following fields are mutually exclusive: `connector_tool`, `client_function`, `open_api_tool`, `google_search_tool`, `data_store_tool`, `python_function`, `mcp_tool`, `file_search_tool`, `system_tool`, `agent_tool`, `widget_tool`, `remote_agent_tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
46
+ # @!attribute [rw] data_store_tool
47
+ # @return [::Google::Cloud::Ces::V1beta::DataStoreTool]
48
+ # Optional. The data store tool.
49
+ #
50
+ # Note: The following fields are mutually exclusive: `data_store_tool`, `client_function`, `open_api_tool`, `google_search_tool`, `connector_tool`, `python_function`, `mcp_tool`, `file_search_tool`, `system_tool`, `agent_tool`, `widget_tool`, `remote_agent_tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
51
+ # @!attribute [rw] python_function
52
+ # @return [::Google::Cloud::Ces::V1beta::PythonFunction]
53
+ # Optional. The python function tool.
54
+ #
55
+ # Note: The following fields are mutually exclusive: `python_function`, `client_function`, `open_api_tool`, `google_search_tool`, `connector_tool`, `data_store_tool`, `mcp_tool`, `file_search_tool`, `system_tool`, `agent_tool`, `widget_tool`, `remote_agent_tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
56
+ # @!attribute [rw] mcp_tool
57
+ # @return [::Google::Cloud::Ces::V1beta::McpTool]
58
+ # Optional. The MCP tool. An MCP tool cannot be created or updated directly
59
+ # and is managed by the MCP toolset.
60
+ #
61
+ # Note: The following fields are mutually exclusive: `mcp_tool`, `client_function`, `open_api_tool`, `google_search_tool`, `connector_tool`, `data_store_tool`, `python_function`, `file_search_tool`, `system_tool`, `agent_tool`, `widget_tool`, `remote_agent_tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
62
+ # @!attribute [rw] file_search_tool
63
+ # @return [::Google::Cloud::Ces::V1beta::FileSearchTool]
64
+ # Optional. The file search tool.
65
+ #
66
+ # Note: The following fields are mutually exclusive: `file_search_tool`, `client_function`, `open_api_tool`, `google_search_tool`, `connector_tool`, `data_store_tool`, `python_function`, `mcp_tool`, `system_tool`, `agent_tool`, `widget_tool`, `remote_agent_tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
67
+ # @!attribute [rw] system_tool
68
+ # @return [::Google::Cloud::Ces::V1beta::SystemTool]
69
+ # Optional. The system tool.
70
+ #
71
+ # Note: The following fields are mutually exclusive: `system_tool`, `client_function`, `open_api_tool`, `google_search_tool`, `connector_tool`, `data_store_tool`, `python_function`, `mcp_tool`, `file_search_tool`, `agent_tool`, `widget_tool`, `remote_agent_tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
72
+ # @!attribute [rw] agent_tool
73
+ # @return [::Google::Cloud::Ces::V1beta::AgentTool]
74
+ # Optional. The agent tool.
75
+ #
76
+ # Note: The following fields are mutually exclusive: `agent_tool`, `client_function`, `open_api_tool`, `google_search_tool`, `connector_tool`, `data_store_tool`, `python_function`, `mcp_tool`, `file_search_tool`, `system_tool`, `widget_tool`, `remote_agent_tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
77
+ # @!attribute [rw] widget_tool
78
+ # @return [::Google::Cloud::Ces::V1beta::WidgetTool]
79
+ # Optional. The widget tool.
80
+ #
81
+ # Note: The following fields are mutually exclusive: `widget_tool`, `client_function`, `open_api_tool`, `google_search_tool`, `connector_tool`, `data_store_tool`, `python_function`, `mcp_tool`, `file_search_tool`, `system_tool`, `agent_tool`, `remote_agent_tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
82
+ # @!attribute [rw] remote_agent_tool
83
+ # @return [::Google::Cloud::Ces::V1beta::RemoteAgentTool]
84
+ # Optional. The remote agent tool.
85
+ #
86
+ # Note: The following fields are mutually exclusive: `remote_agent_tool`, `client_function`, `open_api_tool`, `google_search_tool`, `connector_tool`, `data_store_tool`, `python_function`, `mcp_tool`, `file_search_tool`, `system_tool`, `agent_tool`, `widget_tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
87
+ # @!attribute [rw] name
88
+ # @return [::String]
89
+ # Identifier. The resource name of the tool. Format:
90
+ #
91
+ # * `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`
92
+ # for standalone tools.
93
+ # * `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}`
94
+ # for tools retrieved from a toolset.
95
+ #
96
+ # These tools are dynamic and output-only; they cannot be referenced directly
97
+ # where a tool is expected.
98
+ # @!attribute [r] display_name
99
+ # @return [::String]
100
+ # Output only. The display name of the tool, derived based on the tool's
101
+ # type. For example, display name of a [ClientFunction][Tool.ClientFunction]
102
+ # is derived from its `name` property.
103
+ # @!attribute [rw] execution_type
104
+ # @return [::Google::Cloud::Ces::V1beta::ExecutionType]
105
+ # Optional. The execution type of the tool.
106
+ # @!attribute [rw] timeout
107
+ # @return [::Google::Protobuf::Duration]
108
+ # Optional. The timeout for the tool execution. If not set, the default
109
+ # timeout is 30 seconds for `SYNCHRONOUS` tools and 60 seconds for
110
+ # `ASYNCHRONOUS` tools.
111
+ # @!attribute [r] create_time
112
+ # @return [::Google::Protobuf::Timestamp]
113
+ # Output only. Timestamp when the tool was created.
114
+ # @!attribute [r] update_time
115
+ # @return [::Google::Protobuf::Timestamp]
116
+ # Output only. Timestamp when the tool was last updated.
117
+ # @!attribute [rw] etag
118
+ # @return [::String]
119
+ # Etag used to ensure the object hasn't changed during a read-modify-write
120
+ # operation. If the etag is empty, the update will overwrite any concurrent
121
+ # changes.
122
+ # @!attribute [r] generated_summary
123
+ # @return [::String]
124
+ # Output only. If the tool is generated by the LLM assistant, this field
125
+ # contains a descriptive summary of the generation.
126
+ # @!attribute [rw] tool_fake_config
127
+ # @return [::Google::Cloud::Ces::V1beta::ToolFakeConfig]
128
+ # Optional. Configuration for tool behavior in fake mode.
129
+ class Tool
130
+ include ::Google::Protobuf::MessageExts
131
+ extend ::Google::Protobuf::MessageExts::ClassMethods
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end