google-cloud-gemini_data_analytics-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 (63) 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/gemini_data_analytics/v1/bindings_override.rb +75 -0
  6. data/lib/google/cloud/gemini_data_analytics/v1/data_agent_service/client.rb +1635 -0
  7. data/lib/google/cloud/gemini_data_analytics/v1/data_agent_service/credentials.rb +47 -0
  8. data/lib/google/cloud/gemini_data_analytics/v1/data_agent_service/operations.rb +841 -0
  9. data/lib/google/cloud/gemini_data_analytics/v1/data_agent_service/paths.rb +90 -0
  10. data/lib/google/cloud/gemini_data_analytics/v1/data_agent_service/rest/client.rb +1523 -0
  11. data/lib/google/cloud/gemini_data_analytics/v1/data_agent_service/rest/operations.rb +925 -0
  12. data/lib/google/cloud/gemini_data_analytics/v1/data_agent_service/rest/service_stub.rb +758 -0
  13. data/lib/google/cloud/gemini_data_analytics/v1/data_agent_service/rest.rb +54 -0
  14. data/lib/google/cloud/gemini_data_analytics/v1/data_agent_service.rb +56 -0
  15. data/lib/google/cloud/gemini_data_analytics/v1/data_chat_service/client.rb +1063 -0
  16. data/lib/google/cloud/gemini_data_analytics/v1/data_chat_service/credentials.rb +47 -0
  17. data/lib/google/cloud/gemini_data_analytics/v1/data_chat_service/paths.rb +109 -0
  18. data/lib/google/cloud/gemini_data_analytics/v1/data_chat_service/rest/client.rb +988 -0
  19. data/lib/google/cloud/gemini_data_analytics/v1/data_chat_service/rest/service_stub.rb +443 -0
  20. data/lib/google/cloud/gemini_data_analytics/v1/data_chat_service/rest.rb +55 -0
  21. data/lib/google/cloud/gemini_data_analytics/v1/data_chat_service.rb +57 -0
  22. data/lib/google/cloud/gemini_data_analytics/v1/rest.rb +39 -0
  23. data/lib/google/cloud/gemini_data_analytics/v1/version.rb +7 -2
  24. data/lib/google/cloud/gemini_data_analytics/v1.rb +46 -0
  25. data/lib/google/cloud/geminidataanalytics/v1/context_pb.rb +49 -0
  26. data/lib/google/cloud/geminidataanalytics/v1/conversation_pb.rb +31 -0
  27. data/lib/google/cloud/geminidataanalytics/v1/credentials_pb.rb +26 -0
  28. data/lib/google/cloud/geminidataanalytics/v1/data_agent_pb.rb +26 -0
  29. data/lib/google/cloud/geminidataanalytics/v1/data_agent_service_pb.rb +43 -0
  30. data/lib/google/cloud/geminidataanalytics/v1/data_agent_service_services_pb.rb +66 -0
  31. data/lib/google/cloud/geminidataanalytics/v1/data_analytics_agent_pb.rb +24 -0
  32. data/lib/google/cloud/geminidataanalytics/v1/data_chat_service_pb.rb +64 -0
  33. data/lib/google/cloud/geminidataanalytics/v1/data_chat_service_services_pb.rb +59 -0
  34. data/lib/google/cloud/geminidataanalytics/v1/datasource_pb.rb +37 -0
  35. data/lib/google-cloud-gemini_data_analytics-v1.rb +21 -0
  36. data/proto_docs/README.md +4 -0
  37. data/proto_docs/google/api/client.rb +593 -0
  38. data/proto_docs/google/api/field_behavior.rb +85 -0
  39. data/proto_docs/google/api/field_info.rb +88 -0
  40. data/proto_docs/google/api/launch_stage.rb +71 -0
  41. data/proto_docs/google/api/resource.rb +227 -0
  42. data/proto_docs/google/cloud/geminidataanalytics/v1/context.rb +450 -0
  43. data/proto_docs/google/cloud/geminidataanalytics/v1/conversation.rb +167 -0
  44. data/proto_docs/google/cloud/geminidataanalytics/v1/credentials.rb +74 -0
  45. data/proto_docs/google/cloud/geminidataanalytics/v1/data_agent.rb +96 -0
  46. data/proto_docs/google/cloud/geminidataanalytics/v1/data_agent_service.rb +267 -0
  47. data/proto_docs/google/cloud/geminidataanalytics/v1/data_analytics_agent.rb +46 -0
  48. data/proto_docs/google/cloud/geminidataanalytics/v1/data_chat_service.rb +689 -0
  49. data/proto_docs/google/cloud/geminidataanalytics/v1/datasource.rb +304 -0
  50. data/proto_docs/google/iam/v1/iam_policy.rb +87 -0
  51. data/proto_docs/google/iam/v1/options.rb +50 -0
  52. data/proto_docs/google/iam/v1/policy.rb +426 -0
  53. data/proto_docs/google/longrunning/operations.rb +191 -0
  54. data/proto_docs/google/protobuf/any.rb +145 -0
  55. data/proto_docs/google/protobuf/duration.rb +98 -0
  56. data/proto_docs/google/protobuf/empty.rb +34 -0
  57. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  58. data/proto_docs/google/protobuf/struct.rb +108 -0
  59. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  60. data/proto_docs/google/protobuf/wrappers.rb +148 -0
  61. data/proto_docs/google/rpc/status.rb +48 -0
  62. data/proto_docs/google/type/expr.rb +75 -0
  63. metadata +127 -9
@@ -0,0 +1,689 @@
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 GeminiDataAnalytics
23
+ module V1
24
+ # Request for listing chat messages based on parent and conversation_id.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. The conversation to list messages under.
28
+ # Format:
29
+ # `projects/{project}/locations/{location}/conversations/{conversation_id}`
30
+ # @!attribute [rw] page_size
31
+ # @return [::Integer]
32
+ # Optional. Requested page size. Server may return fewer items than
33
+ # requested. The max page size is `100`. All larger page sizes will be
34
+ # coerced to `100`. If unspecified, server will pick `50` as an appropriate
35
+ # default.
36
+ # @!attribute [rw] page_token
37
+ # @return [::String]
38
+ # Optional. A token identifying a page of results the server should return.
39
+ # @!attribute [rw] filter
40
+ # @return [::String]
41
+ # Optional. Filtering results. See [AIP-160](https://google.aip.dev/160) for
42
+ # syntax.
43
+ #
44
+ # ListMessages allows filtering by:
45
+ # * create_time (e.g., `createTime > "2025-01-28T06:51:56-08:00"`)
46
+ # * update_time
47
+ class ListMessagesRequest
48
+ include ::Google::Protobuf::MessageExts
49
+ extend ::Google::Protobuf::MessageExts::ClassMethods
50
+ end
51
+
52
+ # Response for listing chat messages.
53
+ # @!attribute [rw] messages
54
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::StorageMessage>]
55
+ # The list of chat messages.
56
+ # @!attribute [rw] next_page_token
57
+ # @return [::String]
58
+ # A token identifying a page of results the server should return.
59
+ class ListMessagesResponse
60
+ include ::Google::Protobuf::MessageExts
61
+ extend ::Google::Protobuf::MessageExts::ClassMethods
62
+ end
63
+
64
+ # A stored message containing user message or system message.
65
+ # @!attribute [rw] message_id
66
+ # @return [::String]
67
+ # The unique resource name of a chat message.
68
+ # @!attribute [rw] message
69
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::Message]
70
+ # The message content.
71
+ class StorageMessage
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
+ end
75
+
76
+ # Request for Chat.
77
+ # @!attribute [rw] inline_context
78
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::Context]
79
+ # Optional. Inline context for the chat request. Use this to chat
80
+ # statelessly (without managed conversation persistence and without an
81
+ # Agent) by passing all context inline.
82
+ #
83
+ # Note: The following fields are mutually exclusive: `inline_context`, `conversation_reference`, `data_agent_context`, `client_managed_resource_context`. If a field in that set is populated, all other fields in the set will automatically be cleared.
84
+ # @!attribute [rw] conversation_reference
85
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ConversationReference]
86
+ # Optional. Reference to a persisted conversation and agent context.
87
+ # Use this to chat with an Agent using managed conversation persistence.
88
+ #
89
+ # Note: The following fields are mutually exclusive: `conversation_reference`, `inline_context`, `data_agent_context`, `client_managed_resource_context`. If a field in that set is populated, all other fields in the set will automatically be cleared.
90
+ # @!attribute [rw] data_agent_context
91
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::DataAgentContext]
92
+ # Optional. Context for the chat request. Use this to chat with an Agent
93
+ # statelessly, without managed conversation persistence.
94
+ #
95
+ # Note: The following fields are mutually exclusive: `data_agent_context`, `inline_context`, `conversation_reference`, `client_managed_resource_context`. If a field in that set is populated, all other fields in the set will automatically be cleared.
96
+ # @!attribute [rw] client_managed_resource_context
97
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ClientManagedResourceContext]
98
+ # Optional. Context with client managed resources.
99
+ # Some clients may not use GDA managed resources including
100
+ # conversations and agents, instead they create and manage their own
101
+ # conversations and agents resources.
102
+ #
103
+ # Note: The following fields are mutually exclusive: `client_managed_resource_context`, `inline_context`, `conversation_reference`, `data_agent_context`. If a field in that set is populated, all other fields in the set will automatically be cleared.
104
+ # @!attribute [rw] looker_settings
105
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::LookerSettings]
106
+ # Optional. Looker specific settings.
107
+ # @!attribute [rw] parent
108
+ # @return [::String]
109
+ # Required. The parent value for chat request.
110
+ # Pattern: `projects/{project}/locations/{location}`
111
+ # @!attribute [rw] messages
112
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::Message>]
113
+ # Required. Content of current conversation.
114
+ # @!attribute [rw] credentials
115
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::Credentials]
116
+ # Optional. The credentials to use when calling the data source(s) specified
117
+ # in the context.
118
+ #
119
+ # This field can be used to provide credentials for various data sources.
120
+ # For example, when connecting to Looker, it currently supports both OAuth
121
+ # token and API key-based credentials, as described in
122
+ # [Authentication with an
123
+ # SDK](https://cloud.google.com/looker/docs/api-auth#authentication_with_an_sdk).
124
+ # @!attribute [rw] thinking_mode
125
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ChatRequest::ThinkingMode]
126
+ # Optional. The thinking mode to use for the agent loop.
127
+ # Defaults to THINKING_MODE_UNSPECIFIED if not specified.
128
+ # @!attribute [rw] model
129
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ChatRequest::Model]
130
+ # Optional. The model to use for the agent loop when processing the request.
131
+ # This setting only has an effect when context.options.model is not set.
132
+ class ChatRequest
133
+ include ::Google::Protobuf::MessageExts
134
+ extend ::Google::Protobuf::MessageExts::ClassMethods
135
+
136
+ # Mode of thinking for the agent.
137
+ module ThinkingMode
138
+ # Unspecified thinking mode, agent will use THINKING mode by default.
139
+ THINKING_MODE_UNSPECIFIED = 0
140
+
141
+ # Fast mode, answers quickly.
142
+ FAST = 1
143
+
144
+ # Thinking mode, solves complex problems.
145
+ THINKING = 2
146
+ end
147
+
148
+ # Model selection for the agent.
149
+ module Model
150
+ # No model specified. The default model will be used. Currently, this is
151
+ # `gemini-3.0-flash-preview`.
152
+ MODEL_UNSPECIFIED = 0
153
+
154
+ # Use the most up-to-date non-preview model. Currently, this is
155
+ # `gemini-2.5-flash`. This constrains the request level settings. The
156
+ # default will change to `gemini-2.5-flash`, and setting `thinking_mode`
157
+ # will not be supported.
158
+ LATEST_GA_MODEL = 1
159
+ end
160
+ end
161
+
162
+ # Context for the chat request using a data agent.
163
+ # @!attribute [rw] data_agent
164
+ # @return [::String]
165
+ # Required. The name of the data agent resource.
166
+ # @!attribute [rw] context_version
167
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::DataAgentContext::ContextVersion]
168
+ # Optional. Version of context to be used by DCS (e.g. STAGING, PUBLISHED)
169
+ class DataAgentContext
170
+ include ::Google::Protobuf::MessageExts
171
+ extend ::Google::Protobuf::MessageExts::ClassMethods
172
+
173
+ # List of context versions supported by DCS.
174
+ # There are two versions of context. This is to maintain versioning for the
175
+ # data agent.
176
+ module ContextVersion
177
+ # Unspecified or unrecognized.
178
+ CONTEXT_VERSION_UNSPECIFIED = 0
179
+
180
+ # Using this version, DCS will use the latest staging context for the
181
+ # data agent.
182
+ STAGING = 1
183
+
184
+ # Using this version, DCS will use the latest published context for the
185
+ # data agent.
186
+ PUBLISHED = 2
187
+ end
188
+ end
189
+
190
+ # Reference to a persisted conversation and agent context.
191
+ # @!attribute [rw] conversation
192
+ # @return [::String]
193
+ # Required. Name of the conversation resource.
194
+ # Format:
195
+ # `projects/{project}/locations/{location}/conversations/{conversation_id}`
196
+ # @!attribute [rw] data_agent_context
197
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::DataAgentContext]
198
+ # Required. Context for the chat request using a data agent.
199
+ class ConversationReference
200
+ include ::Google::Protobuf::MessageExts
201
+ extend ::Google::Protobuf::MessageExts::ClassMethods
202
+ end
203
+
204
+ # Context with client managed resources.
205
+ # Some clients may not use GDA managed resources including
206
+ # conversations and agents, instead they create and manage their own
207
+ # conversations and agents resources.
208
+ # @!attribute [rw] inline_context
209
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::Context]
210
+ # Required. Context for the chat request. Use this to chat without GDA API
211
+ # managed conversation and agent persistence by passing all context inline.
212
+ # @!attribute [rw] conversation_id
213
+ # @return [::String]
214
+ # Optional. The client managed conversation id.
215
+ # @!attribute [rw] agent_id
216
+ # @return [::String]
217
+ # Optional. The client managed agent id.
218
+ class ClientManagedResourceContext
219
+ include ::Google::Protobuf::MessageExts
220
+ extend ::Google::Protobuf::MessageExts::ClassMethods
221
+ end
222
+
223
+ # A message from an interaction between the user and the system.
224
+ # @!attribute [rw] user_message
225
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::UserMessage]
226
+ # A message from the user that is interacting with the system.
227
+ #
228
+ # Note: The following fields are mutually exclusive: `user_message`, `system_message`. If a field in that set is populated, all other fields in the set will automatically be cleared.
229
+ # @!attribute [rw] system_message
230
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::SystemMessage]
231
+ # A message from the system in response to the user.
232
+ #
233
+ # Note: The following fields are mutually exclusive: `system_message`, `user_message`. If a field in that set is populated, all other fields in the set will automatically be cleared.
234
+ # @!attribute [r] timestamp
235
+ # @return [::Google::Protobuf::Timestamp]
236
+ # Output only. For user messages, this is the time at which the system
237
+ # received the message. For system messages, this is the time at which the
238
+ # system generated the message.
239
+ # @!attribute [rw] message_id
240
+ # @return [::String]
241
+ # Optional. unique id of the message in the conversation for persistence.
242
+ class Message
243
+ include ::Google::Protobuf::MessageExts
244
+ extend ::Google::Protobuf::MessageExts::ClassMethods
245
+ end
246
+
247
+ # Message to hold Looker specific custom settings.
248
+ # @!attribute [rw] enable_dev_mode
249
+ # @return [::Boolean]
250
+ # Optional. Whether to operate in Looker's Development Mode.
251
+ # If true, the API session will be switched to the "dev" workspace,
252
+ # allowing interaction with LookML changes in the user's development branch.
253
+ # If false or unset, the session remains in the default state (Production
254
+ # Mode).
255
+ # See https://cloud.google.com/looker/docs/dev-mode-prod-mode.
256
+ class LookerSettings
257
+ include ::Google::Protobuf::MessageExts
258
+ extend ::Google::Protobuf::MessageExts::ClassMethods
259
+ end
260
+
261
+ # A message from the user that is interacting with the system.
262
+ # @!attribute [rw] text
263
+ # @return [::String]
264
+ # Text should use this field instead of blob.
265
+ class UserMessage
266
+ include ::Google::Protobuf::MessageExts
267
+ extend ::Google::Protobuf::MessageExts::ClassMethods
268
+ end
269
+
270
+ # A message from the system in response to the user. This message can also be a
271
+ # message from the user as historical context for multi-turn conversations with
272
+ # the system.
273
+ # @!attribute [rw] text
274
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::TextMessage]
275
+ # A direct natural language response to the user message.
276
+ #
277
+ # Note: The following fields are mutually exclusive: `text`, `schema`, `data`, `analysis`, `chart`, `error`, `example_queries`. If a field in that set is populated, all other fields in the set will automatically be cleared.
278
+ # @!attribute [rw] schema
279
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::SchemaMessage]
280
+ # A message produced during schema resolution.
281
+ #
282
+ # Note: The following fields are mutually exclusive: `schema`, `text`, `data`, `analysis`, `chart`, `error`, `example_queries`. If a field in that set is populated, all other fields in the set will automatically be cleared.
283
+ # @!attribute [rw] data
284
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::DataMessage]
285
+ # A message produced during data retrieval.
286
+ #
287
+ # Note: The following fields are mutually exclusive: `data`, `text`, `schema`, `analysis`, `chart`, `error`, `example_queries`. If a field in that set is populated, all other fields in the set will automatically be cleared.
288
+ # @!attribute [rw] analysis
289
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::AnalysisMessage]
290
+ # A message produced during analysis.
291
+ #
292
+ # Note: The following fields are mutually exclusive: `analysis`, `text`, `schema`, `data`, `chart`, `error`, `example_queries`. If a field in that set is populated, all other fields in the set will automatically be cleared.
293
+ # @!attribute [rw] chart
294
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ChartMessage]
295
+ # A message produced during chart generation.
296
+ #
297
+ # Note: The following fields are mutually exclusive: `chart`, `text`, `schema`, `data`, `analysis`, `error`, `example_queries`. If a field in that set is populated, all other fields in the set will automatically be cleared.
298
+ # @!attribute [rw] error
299
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ErrorMessage]
300
+ # An error message.
301
+ #
302
+ # Note: The following fields are mutually exclusive: `error`, `text`, `schema`, `data`, `analysis`, `chart`, `example_queries`. If a field in that set is populated, all other fields in the set will automatically be cleared.
303
+ # @!attribute [rw] example_queries
304
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ExampleQueries]
305
+ # Optional. A message containing example queries.
306
+ #
307
+ # Note: The following fields are mutually exclusive: `example_queries`, `text`, `schema`, `data`, `analysis`, `chart`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
308
+ # @!attribute [rw] group_id
309
+ # @return [::Integer]
310
+ # Identifies the group that the event belongs to. Similar events are deemed
311
+ # to be logically relevant to each other and should be shown together in
312
+ # the UI.
313
+ # @!attribute [r] citation
314
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::Citation]
315
+ # Output only. Citation information for the system message.
316
+ class SystemMessage
317
+ include ::Google::Protobuf::MessageExts
318
+ extend ::Google::Protobuf::MessageExts::ClassMethods
319
+ end
320
+
321
+ # A multi-part text message.
322
+ # @!attribute [rw] parts
323
+ # @return [::Array<::String>]
324
+ # Optional. The parts of the message.
325
+ # @!attribute [rw] text_type
326
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::TextMessage::TextType]
327
+ # Optional. The type of the text message.
328
+ # @!attribute [rw] thought_signature
329
+ # @return [::String]
330
+ # Optional. An opaque signature for a thought so it can be reused in
331
+ # subsequent requests.
332
+ class TextMessage
333
+ include ::Google::Protobuf::MessageExts
334
+ extend ::Google::Protobuf::MessageExts::ClassMethods
335
+
336
+ # The type of the text message.
337
+ module TextType
338
+ # The default text type.
339
+ TEXT_TYPE_UNSPECIFIED = 0
340
+
341
+ # The text is a final response to the user question.
342
+ FINAL_RESPONSE = 1
343
+
344
+ # The text is a thought from the model.
345
+ THOUGHT = 2
346
+
347
+ # The text is an informational message about the agent's progress, such as
348
+ # a tool being invoked. This is distinct from the agent's internal thought
349
+ # process (`THOUGHT`) and the final answer to the user
350
+ # (`FINAL_RESPONSE`). These messages provide insight into the agent's
351
+ # actions.
352
+ PROGRESS = 3
353
+
354
+ # The text is a list of follow-up questions suggested.
355
+ # Each item in parts is a follow-up question.
356
+ FOLLOWUP_QUESTIONS = 4
357
+ end
358
+ end
359
+
360
+ # A message produced during schema resolution.
361
+ # @!attribute [rw] query
362
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::SchemaQuery]
363
+ # A schema resolution query.
364
+ #
365
+ # Note: The following fields are mutually exclusive: `query`, `result`. If a field in that set is populated, all other fields in the set will automatically be cleared.
366
+ # @!attribute [rw] result
367
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::SchemaResult]
368
+ # The result of a schema resolution query.
369
+ #
370
+ # Note: The following fields are mutually exclusive: `result`, `query`. If a field in that set is populated, all other fields in the set will automatically be cleared.
371
+ class SchemaMessage
372
+ include ::Google::Protobuf::MessageExts
373
+ extend ::Google::Protobuf::MessageExts::ClassMethods
374
+ end
375
+
376
+ # A query for resolving the schema relevant to the posed question.
377
+ # @!attribute [rw] question
378
+ # @return [::String]
379
+ # Optional. The question to send to the system for schema resolution.
380
+ class SchemaQuery
381
+ include ::Google::Protobuf::MessageExts
382
+ extend ::Google::Protobuf::MessageExts::ClassMethods
383
+ end
384
+
385
+ # The result of schema resolution.
386
+ # @!attribute [rw] datasources
387
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::Datasource>]
388
+ # Optional. The datasources used to resolve the schema query.
389
+ class SchemaResult
390
+ include ::Google::Protobuf::MessageExts
391
+ extend ::Google::Protobuf::MessageExts::ClassMethods
392
+ end
393
+
394
+ # A message produced during data retrieval.
395
+ # @!attribute [rw] query
396
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::DataQuery]
397
+ # A data retrieval query.
398
+ #
399
+ # Note: The following fields are mutually exclusive: `query`, `generated_sql`, `result`, `big_query_job`, `matched_query`. If a field in that set is populated, all other fields in the set will automatically be cleared.
400
+ # @!attribute [rw] generated_sql
401
+ # @return [::String]
402
+ # SQL generated by the system to retrieve data.
403
+ #
404
+ # Note: The following fields are mutually exclusive: `generated_sql`, `query`, `result`, `big_query_job`, `matched_query`. If a field in that set is populated, all other fields in the set will automatically be cleared.
405
+ # @!attribute [rw] result
406
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::DataResult]
407
+ # Retrieved data.
408
+ #
409
+ # Note: The following fields are mutually exclusive: `result`, `query`, `generated_sql`, `big_query_job`, `matched_query`. If a field in that set is populated, all other fields in the set will automatically be cleared.
410
+ # @!attribute [rw] big_query_job
411
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::BigQueryJob]
412
+ # A BigQuery job executed by the system to retrieve data.
413
+ #
414
+ # Note: The following fields are mutually exclusive: `big_query_job`, `query`, `generated_sql`, `result`, `matched_query`. If a field in that set is populated, all other fields in the set will automatically be cleared.
415
+ # @!attribute [rw] matched_query
416
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::MatchedQuery]
417
+ # A pre-existing query that was matched to retrieve data.
418
+ #
419
+ # Note: The following fields are mutually exclusive: `matched_query`, `query`, `generated_sql`, `result`, `big_query_job`. If a field in that set is populated, all other fields in the set will automatically be cleared.
420
+ class DataMessage
421
+ include ::Google::Protobuf::MessageExts
422
+ extend ::Google::Protobuf::MessageExts::ClassMethods
423
+ end
424
+
425
+ # A query for retrieving data.
426
+ # @!attribute [rw] looker
427
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::LookerQuery]
428
+ # Optional. A query for retrieving data from a Looker explore.
429
+ # @!attribute [rw] question
430
+ # @return [::String]
431
+ # Optional. A natural language question to answer.
432
+ # @!attribute [rw] name
433
+ # @return [::String]
434
+ # Optional. A snake-case name for the query that reflects its intent. It is
435
+ # used to name the corresponding data result, so that it can be referenced in
436
+ # later steps.
437
+ #
438
+ # * Example: "total_sales_by_product"
439
+ # * Example: "sales_for_product_12345"
440
+ # @!attribute [rw] datasources
441
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::Datasource>]
442
+ # Optional. The datasources available to answer the question.
443
+ class DataQuery
444
+ include ::Google::Protobuf::MessageExts
445
+ extend ::Google::Protobuf::MessageExts::ClassMethods
446
+ end
447
+
448
+ # Retrieved data.
449
+ # @!attribute [rw] name
450
+ # @return [::String]
451
+ # Optional. A snake-case name for the data result that reflects its contents.
452
+ # The name is used to pass the result around by reference, and serves as a
453
+ # signal about its meaning.
454
+ #
455
+ # * Example: "total_sales_by_product"
456
+ # * Example: "sales_for_product_12345"
457
+ # @!attribute [rw] schema
458
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::Schema]
459
+ # Optional. The schema of the data.
460
+ # @!attribute [rw] data
461
+ # @return [::Array<::Google::Protobuf::Struct>]
462
+ # Optional. The content of the data. Each row is a struct that matches the
463
+ # schema. Simple values are represented as strings, while nested structures
464
+ # are represented as lists or structs.
465
+ # @!attribute [rw] formatted_data
466
+ # @return [::Array<::Google::Protobuf::Struct>]
467
+ # Optional. Formatted representation of the data, when applicable.
468
+ # Each row is a struct that directly corresponds to the row at the same index
469
+ # within the `data` field. Its values are string representations of the
470
+ # original data, formatted according to data source specifications (e.g.,
471
+ # "$1,234.56" for currency). Columns without formatting will default to
472
+ # their raw value representation. If no columns have formatting rules, this
473
+ # field will be empty.
474
+ class DataResult
475
+ include ::Google::Protobuf::MessageExts
476
+ extend ::Google::Protobuf::MessageExts::ClassMethods
477
+ end
478
+
479
+ # A BigQuery job executed by the system.
480
+ # @!attribute [rw] project_id
481
+ # @return [::String]
482
+ # Required. The project that the job belongs to.
483
+ #
484
+ # See
485
+ # [JobReference](https://cloud.google.com/bigquery/docs/reference/rest/v2/JobReference).
486
+ # @!attribute [rw] job_id
487
+ # @return [::String]
488
+ # Required. The ID of the job.
489
+ #
490
+ # See
491
+ # [JobReference](https://cloud.google.com/bigquery/docs/reference/rest/v2/JobReference).
492
+ # @!attribute [rw] location
493
+ # @return [::String]
494
+ # Optional. The location of the job.
495
+ #
496
+ # See
497
+ # [JobReference](https://cloud.google.com/bigquery/docs/reference/rest/v2/JobReference).
498
+ # @!attribute [rw] destination_table
499
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::BigQueryTableReference]
500
+ # Optional. A reference to the destination table of the job's query results.
501
+ #
502
+ # See
503
+ # [JobConfigurationQuery](https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#jobconfigurationquery).
504
+ # @!attribute [rw] schema
505
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::Schema]
506
+ # Optional. The schema of the job's query results.
507
+ #
508
+ # See
509
+ # [JobStatistics2](https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#jobstatistics2).
510
+ class BigQueryJob
511
+ include ::Google::Protobuf::MessageExts
512
+ extend ::Google::Protobuf::MessageExts::ClassMethods
513
+ end
514
+
515
+ # A message produced during analysis.
516
+ # @!attribute [rw] query
517
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::AnalysisQuery]
518
+ # An analysis query.
519
+ #
520
+ # Note: The following fields are mutually exclusive: `query`, `progress_event`. If a field in that set is populated, all other fields in the set will automatically be cleared.
521
+ # @!attribute [rw] progress_event
522
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::AnalysisEvent]
523
+ # An event indicating the progress of the analysis.
524
+ #
525
+ # Note: The following fields are mutually exclusive: `progress_event`, `query`. If a field in that set is populated, all other fields in the set will automatically be cleared.
526
+ class AnalysisMessage
527
+ include ::Google::Protobuf::MessageExts
528
+ extend ::Google::Protobuf::MessageExts::ClassMethods
529
+ end
530
+
531
+ # A query for performing an analysis.
532
+ # @!attribute [rw] question
533
+ # @return [::String]
534
+ # Optional. An analysis question to help answer the user's original question.
535
+ # @!attribute [rw] data_result_names
536
+ # @return [::Array<::String>]
537
+ # Optional. The names of previously retrieved data results to analyze.
538
+ class AnalysisQuery
539
+ include ::Google::Protobuf::MessageExts
540
+ extend ::Google::Protobuf::MessageExts::ClassMethods
541
+ end
542
+
543
+ # An event indicating the progress of an analysis.
544
+ # @!attribute [rw] planner_reasoning
545
+ # @return [::String]
546
+ # Python codegen planner's reasoning.
547
+ #
548
+ # Note: The following fields are mutually exclusive: `planner_reasoning`, `coder_instruction`, `code`, `execution_output`, `execution_error`, `result_vega_chart_json`, `result_natural_language`, `result_csv_data`, `result_reference_data`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
549
+ # @!attribute [rw] coder_instruction
550
+ # @return [::String]
551
+ # Instructions issued for code generation.
552
+ #
553
+ # Note: The following fields are mutually exclusive: `coder_instruction`, `planner_reasoning`, `code`, `execution_output`, `execution_error`, `result_vega_chart_json`, `result_natural_language`, `result_csv_data`, `result_reference_data`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
554
+ # @!attribute [rw] code
555
+ # @return [::String]
556
+ # Generated code.
557
+ #
558
+ # Note: The following fields are mutually exclusive: `code`, `planner_reasoning`, `coder_instruction`, `execution_output`, `execution_error`, `result_vega_chart_json`, `result_natural_language`, `result_csv_data`, `result_reference_data`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
559
+ # @!attribute [rw] execution_output
560
+ # @return [::String]
561
+ # Output from code execution.
562
+ #
563
+ # Note: The following fields are mutually exclusive: `execution_output`, `planner_reasoning`, `coder_instruction`, `code`, `execution_error`, `result_vega_chart_json`, `result_natural_language`, `result_csv_data`, `result_reference_data`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
564
+ # @!attribute [rw] execution_error
565
+ # @return [::String]
566
+ # An error from code execution.
567
+ #
568
+ # Note: The following fields are mutually exclusive: `execution_error`, `planner_reasoning`, `coder_instruction`, `code`, `execution_output`, `result_vega_chart_json`, `result_natural_language`, `result_csv_data`, `result_reference_data`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
569
+ # @!attribute [rw] result_vega_chart_json
570
+ # @return [::String]
571
+ # Result as Vega chart JSON string.
572
+ #
573
+ # Note: The following fields are mutually exclusive: `result_vega_chart_json`, `planner_reasoning`, `coder_instruction`, `code`, `execution_output`, `execution_error`, `result_natural_language`, `result_csv_data`, `result_reference_data`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
574
+ # @!attribute [rw] result_natural_language
575
+ # @return [::String]
576
+ # Result as NL string.
577
+ #
578
+ # Note: The following fields are mutually exclusive: `result_natural_language`, `planner_reasoning`, `coder_instruction`, `code`, `execution_output`, `execution_error`, `result_vega_chart_json`, `result_csv_data`, `result_reference_data`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
579
+ # @!attribute [rw] result_csv_data
580
+ # @return [::String]
581
+ # Result as CSV string.
582
+ #
583
+ # Note: The following fields are mutually exclusive: `result_csv_data`, `planner_reasoning`, `coder_instruction`, `code`, `execution_output`, `execution_error`, `result_vega_chart_json`, `result_natural_language`, `result_reference_data`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
584
+ # @!attribute [rw] result_reference_data
585
+ # @return [::String]
586
+ # Result as a reference to a data source.
587
+ #
588
+ # Note: The following fields are mutually exclusive: `result_reference_data`, `planner_reasoning`, `coder_instruction`, `code`, `execution_output`, `execution_error`, `result_vega_chart_json`, `result_natural_language`, `result_csv_data`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
589
+ # @!attribute [rw] error
590
+ # @return [::String]
591
+ # A generic error message.
592
+ #
593
+ # Note: The following fields are mutually exclusive: `error`, `planner_reasoning`, `coder_instruction`, `code`, `execution_output`, `execution_error`, `result_vega_chart_json`, `result_natural_language`, `result_csv_data`, `result_reference_data`. If a field in that set is populated, all other fields in the set will automatically be cleared.
594
+ class AnalysisEvent
595
+ include ::Google::Protobuf::MessageExts
596
+ extend ::Google::Protobuf::MessageExts::ClassMethods
597
+ end
598
+
599
+ # A message produced during chart generation.
600
+ # @!attribute [rw] query
601
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ChartQuery]
602
+ # A query for generating a chart.
603
+ #
604
+ # Note: The following fields are mutually exclusive: `query`, `result`. If a field in that set is populated, all other fields in the set will automatically be cleared.
605
+ # @!attribute [rw] result
606
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ChartResult]
607
+ # The result of a chart generation query.
608
+ #
609
+ # Note: The following fields are mutually exclusive: `result`, `query`. If a field in that set is populated, all other fields in the set will automatically be cleared.
610
+ class ChartMessage
611
+ include ::Google::Protobuf::MessageExts
612
+ extend ::Google::Protobuf::MessageExts::ClassMethods
613
+ end
614
+
615
+ # A query for generating a chart.
616
+ # @!attribute [rw] instructions
617
+ # @return [::String]
618
+ # Optional. Natural language instructions for generating the chart.
619
+ # @!attribute [rw] data_result_name
620
+ # @return [::String]
621
+ # Optional. The name of a previously retrieved data result to use in the
622
+ # chart.
623
+ class ChartQuery
624
+ include ::Google::Protobuf::MessageExts
625
+ extend ::Google::Protobuf::MessageExts::ClassMethods
626
+ end
627
+
628
+ # The result of a chart generation query.
629
+ # @!attribute [rw] vega_config
630
+ # @return [::Google::Protobuf::Struct]
631
+ # Optional. A generated Vega chart config.
632
+ # See https://vega.github.io/vega/docs/config/
633
+ # @!attribute [rw] image
634
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::Blob]
635
+ # Optional. A rendering of the chart if this was requested in the context.
636
+ class ChartResult
637
+ include ::Google::Protobuf::MessageExts
638
+ extend ::Google::Protobuf::MessageExts::ClassMethods
639
+ end
640
+
641
+ # An error message from a tool call.
642
+ # This message is used to represent an error that occurred while an agent was
643
+ # trying to use a tool. It's important to note that not all errors are
644
+ # terminal. Many are recoverable, and the agent may use the information from
645
+ # this error message to self-correct and retry the tool call or try a
646
+ # different approach.
647
+ #
648
+ # For example, if a data query fails, the agent might receive an
649
+ # `ErrorMessage`, analyze it, and then generate a corrected query.
650
+ #
651
+ # Clients should be cautious about interpreting this message as a definitive
652
+ # failure. It can be part of the agent's normal, iterative process of
653
+ # completing a task. Surfacing these errors directly to end-users without
654
+ # context (e.g., as a "hard failure") may be misleading.
655
+ # @!attribute [r] text
656
+ # @return [::String]
657
+ # Output only. The text of the error.
658
+ class ErrorMessage
659
+ include ::Google::Protobuf::MessageExts
660
+ extend ::Google::Protobuf::MessageExts::ClassMethods
661
+ end
662
+
663
+ # A message containing derived and authored example queries.
664
+ # @!attribute [rw] example_queries
665
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::ExampleQuery>]
666
+ # Optional. A list of derived and authored example queries, providing
667
+ # examples of relevant and commonly used SQL queries and their corresponding
668
+ # natural language queries optionally present. Currently only used for
669
+ # BigQuery data sources.
670
+ class ExampleQueries
671
+ include ::Google::Protobuf::MessageExts
672
+ extend ::Google::Protobuf::MessageExts::ClassMethods
673
+ end
674
+
675
+ # A blob of data with a MIME type.
676
+ # @!attribute [rw] mime_type
677
+ # @return [::String]
678
+ # Required. The IANA standard MIME type of the message data.
679
+ # @!attribute [rw] data
680
+ # @return [::String]
681
+ # Required. The data represented as bytes.
682
+ class Blob
683
+ include ::Google::Protobuf::MessageExts
684
+ extend ::Google::Protobuf::MessageExts::ClassMethods
685
+ end
686
+ end
687
+ end
688
+ end
689
+ end