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,450 @@
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
+ # A collection of context to apply to this conversation
25
+ # @!attribute [rw] system_instruction
26
+ # @return [::String]
27
+ # Optional. The basic entry point for data owners creating domain knowledge
28
+ # for Agent.
29
+ #
30
+ # Why: Business jargon (e.g., YTD revenue is calculated as…, Retirement Age
31
+ # is 65 in the USA, etc) and system instructions (e.g., answer like a Pirate)
32
+ # can help the model understand the business context around a user question.
33
+ # @!attribute [rw] datasource_references
34
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::DatasourceReferences]
35
+ # Required. Data sources that are available for answering the question.
36
+ # @!attribute [rw] options
37
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ConversationOptions]
38
+ # Optional. Additional options for the conversation.
39
+ # @!attribute [rw] example_queries
40
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::ExampleQuery>]
41
+ # Optional. A list of example queries, providing examples of relevant and
42
+ # commonly used SQL queries and their corresponding natural language queries
43
+ # optionally present. Currently only used for BigQuery data sources and
44
+ # databases (alloydb, cloudsql, spanner) data sources.
45
+ # @!attribute [rw] looker_golden_queries
46
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::LookerGoldenQuery>]
47
+ # Optional. A list of golden queries, providing examples of relevant and
48
+ # commonly used Looker queries and their corresponding natural language
49
+ # queries optionally present. Only supported for Looker data sources.
50
+ # @!attribute [rw] glossary_terms
51
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::GlossaryTerm>]
52
+ # Optional. Term definitions (currently, only user authored)
53
+ # Not supported for databases (alloydb, cloudsql, spanner) data sources.
54
+ # @!attribute [rw] schema_relationships
55
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::Context::SchemaRelationship>]
56
+ # Optional. Relationships between table schema, including referencing and
57
+ # referenced columns.
58
+ # @!attribute [rw] user_functions
59
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::UserFunctions]
60
+ # Optional. A collection of user functions to be included in context.
61
+ class Context
62
+ include ::Google::Protobuf::MessageExts
63
+ extend ::Google::Protobuf::MessageExts::ClassMethods
64
+
65
+ # The relationship between two tables, including referencing and referenced
66
+ # columns. This is a derived context retrieved from Dataplex Dataset
67
+ # Insights.
68
+ # @!attribute [rw] left_schema_paths
69
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::Context::SchemaRelationship::SchemaPaths]
70
+ # An ordered list of fields for the join from the first table.
71
+ # The size of this list must be the same as `right_schema_paths`.
72
+ # Each field at index i in this list must correspond to a field at the same
73
+ # index in the `right_schema_paths` list.
74
+ # @!attribute [rw] right_schema_paths
75
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::Context::SchemaRelationship::SchemaPaths]
76
+ # An ordered list of fields for the join from the second table.
77
+ # The size of this list must be the same as `left_schema_paths`.
78
+ # Each field at index i in this list must correspond to a field at the same
79
+ # index in the `left_schema_paths` list.
80
+ # @!attribute [rw] sources
81
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::Context::SchemaRelationship::Source>]
82
+ # Optional. Sources which generated the schema relation edge.
83
+ # @!attribute [rw] confidence_score
84
+ # @return [::Float]
85
+ # Optional. A confidence score for the suggested relationship.
86
+ # Manually added edges have the highest confidence score.
87
+ class SchemaRelationship
88
+ include ::Google::Protobuf::MessageExts
89
+ extend ::Google::Protobuf::MessageExts::ClassMethods
90
+
91
+ # Represents an ordered set of paths within the table schema.
92
+ # @!attribute [rw] table_fqn
93
+ # @return [::String]
94
+ # The service-qualified full resource name of the table
95
+ # Ex:
96
+ # bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID
97
+ # @!attribute [rw] paths
98
+ # @return [::Array<::String>]
99
+ # The ordered list of paths within the table schema.
100
+ class SchemaPaths
101
+ include ::Google::Protobuf::MessageExts
102
+ extend ::Google::Protobuf::MessageExts::ClassMethods
103
+ end
104
+
105
+ # Source which generated the schema relation edge.
106
+ module Source
107
+ # The source of the schema relationship is unspecified.
108
+ SOURCE_UNSPECIFIED = 0
109
+
110
+ # The source of the schema relationship is BigQuery job history.
111
+ BIGQUERY_JOB_HISTORY = 1
112
+
113
+ # The source of the schema relationship is LLM suggested.
114
+ LLM_SUGGESTED = 2
115
+
116
+ # The source of the schema relationship is BigQuery table constraints.
117
+ BIGQUERY_TABLE_CONSTRAINTS = 3
118
+ end
119
+ end
120
+ end
121
+
122
+ # A collection of user functions to be included in context.
123
+ # @!attribute [rw] bq_routines
124
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::BigQueryRoutine>]
125
+ # A list of BigQuery routines to include in the context.
126
+ class UserFunctions
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+ end
130
+
131
+ # A reference to a BigQuery routine.
132
+ # @!attribute [rw] routine_reference
133
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::BigQueryRoutineReference]
134
+ # The reference to the BigQuery routine.
135
+ # @!attribute [rw] description
136
+ # @return [::String]
137
+ # User override or addition to description, to tell the agent when to use the
138
+ # UDF.
139
+ class BigQueryRoutine
140
+ include ::Google::Protobuf::MessageExts
141
+ extend ::Google::Protobuf::MessageExts::ClassMethods
142
+ end
143
+
144
+ # A reference to a BigQuery routine.
145
+ # @!attribute [rw] project_id
146
+ # @return [::String]
147
+ # The project ID of the routine.
148
+ # @!attribute [rw] dataset_id
149
+ # @return [::String]
150
+ # The dataset ID of the routine.
151
+ # @!attribute [rw] routine_id
152
+ # @return [::String]
153
+ # The routine ID of the routine.
154
+ class BigQueryRoutineReference
155
+ include ::Google::Protobuf::MessageExts
156
+ extend ::Google::Protobuf::MessageExts::ClassMethods
157
+ end
158
+
159
+ # Example of relevant and commonly used SQL query and its corresponding natural
160
+ # language queries optionally present. Currently only used for BigQuery data
161
+ # sources.
162
+ # @!attribute [rw] sql_query
163
+ # @return [::String]
164
+ # Optional. The SQL query that should be generated to answer the natural
165
+ # language question. For example: "SELECT COUNT(*) FROM orders WHERE
166
+ # order_date BETWEEN '2024-01-01' AND '2024-01-31'"
167
+ # @!attribute [rw] natural_language_question
168
+ # @return [::String]
169
+ # Optional. A natural language question that a user might ask.
170
+ # For example: "How many orders were placed last month?"
171
+ # @!attribute [rw] parameters
172
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::QueryParameter>]
173
+ # Optional. The list of query parameters.
174
+ # Example: The parameterized SQL query
175
+ # "SELECT * FROM my_table WHERE id = @id" can be matched with any value of
176
+ # id.
177
+ class ExampleQuery
178
+ include ::Google::Protobuf::MessageExts
179
+ extend ::Google::Protobuf::MessageExts::ClassMethods
180
+ end
181
+
182
+ # A query parameter message represents a parameter that can be used to
183
+ # parameterize a SQL query.
184
+ # @!attribute [rw] name
185
+ # @return [::String]
186
+ # Required. The name of the parameter reference in the SQL query.
187
+ # @!attribute [rw] description
188
+ # @return [::String]
189
+ # Optional. The description of the parameter that can be used by LLM to
190
+ # extract the parameter value from the user question.
191
+ # @!attribute [rw] data_type
192
+ # @return [::String]
193
+ # Required. The data type of the parameter, e.g. "STRING", "INT64", "DATE",
194
+ # etc. For valid values, see the [BigQuery
195
+ # documentation](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types).
196
+ # This will be used to populate
197
+ # google.cloud.bigquery.v2.QueryParameterType.type.
198
+ class QueryParameter
199
+ include ::Google::Protobuf::MessageExts
200
+ extend ::Google::Protobuf::MessageExts::ClassMethods
201
+ end
202
+
203
+ # A matched query message represents the agent having matched one of the
204
+ # example queries supplied in context as being applicable to the current
205
+ # question. It will also contain additional info during the matching process.
206
+ # @!attribute [rw] example_query
207
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ExampleQuery]
208
+ # The query that was matched based on an example query.
209
+ # @!attribute [rw] query_parameter_values
210
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::QueryParameterValues>]
211
+ # The extracted values for the query parameters.
212
+ class MatchedQuery
213
+ include ::Google::Protobuf::MessageExts
214
+ extend ::Google::Protobuf::MessageExts::ClassMethods
215
+ end
216
+
217
+ # A query parameter values message represents the values for the query
218
+ # parameters that were extracted from the user question by LLM, based on the
219
+ # example query.
220
+ # @!attribute [rw] name
221
+ # @return [::String]
222
+ # Required. The name of the parameter.
223
+ # @!attribute [rw] value
224
+ # @return [::String]
225
+ # Required. The value of the parameter.
226
+ class QueryParameterValues
227
+ include ::Google::Protobuf::MessageExts
228
+ extend ::Google::Protobuf::MessageExts::ClassMethods
229
+ end
230
+
231
+ # A golden query for Looker, including natural language questions and a
232
+ # corresponding Looker Query. Analogous to ExampleQuery.
233
+ # @!attribute [rw] natural_language_questions
234
+ # @return [::Array<::String>]
235
+ # Optional. Natural language questions that a user might ask.
236
+ # For example: "How many orders were placed last month?"
237
+ # @!attribute [rw] looker_query
238
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::LookerQuery]
239
+ # Optional. The Looker Query corresponding to the natural language questions.
240
+ class LookerGoldenQuery
241
+ include ::Google::Protobuf::MessageExts
242
+ extend ::Google::Protobuf::MessageExts::ClassMethods
243
+ end
244
+
245
+ # Looker Query Object
246
+ # [Looker API
247
+ # documentation](https://cloud.google.com/looker/docs/reference/looker-api/latest/methods/Query/run_inline_query).
248
+ # @!attribute [rw] model
249
+ # @return [::String]
250
+ # Required. The LookML model used to generate the query.
251
+ # @!attribute [rw] explore
252
+ # @return [::String]
253
+ # Required. The LookML explore used to generate the query.
254
+ # @!attribute [rw] fields
255
+ # @return [::Array<::String>]
256
+ # Optional. The fields to retrieve from the explore.
257
+ # @!attribute [rw] filters
258
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::LookerQuery::Filter>]
259
+ # Optional. The filters to apply to the explore.
260
+ # @!attribute [rw] sorts
261
+ # @return [::Array<::String>]
262
+ # Optional. The sorts to apply to the explore.
263
+ # @!attribute [rw] limit
264
+ # @return [::String]
265
+ # Optional. Limit in the query.
266
+ # @!attribute [rw] query_id
267
+ # @return [::String]
268
+ # Optional. The primary identifier for the query resource in Looker, used for
269
+ # API operations. Maps to `id` (or `slug`) in the Looker API `Query`
270
+ # resource.
271
+ # @!attribute [rw] client_id
272
+ # @return [::String]
273
+ # Optional. The short alphanumeric identifier for the query, used for share
274
+ # links and Explore URLs (e.g., in the `qid` parameter). Maps to `client_id`
275
+ # in the Looker API `Query` resource.
276
+ class LookerQuery
277
+ include ::Google::Protobuf::MessageExts
278
+ extend ::Google::Protobuf::MessageExts::ClassMethods
279
+
280
+ # A Looker query filter.
281
+ # @!attribute [rw] field
282
+ # @return [::String]
283
+ # Required. The field to filter on.
284
+ # @!attribute [rw] value
285
+ # @return [::String]
286
+ # Optional. The value for the field to filter on.
287
+ # Optional so we can preserve the default value as an empty
288
+ # string, important to get a valid and working Looker Explore url.
289
+ class Filter
290
+ include ::Google::Protobuf::MessageExts
291
+ extend ::Google::Protobuf::MessageExts::ClassMethods
292
+ end
293
+ end
294
+
295
+ # Definition of a term within a specific domain.
296
+ # @!attribute [rw] display_name
297
+ # @return [::String]
298
+ # Required. User friendly display name of the glossary term being defined.
299
+ # For example: "CTR", "conversion rate", "pending"
300
+ # @!attribute [rw] description
301
+ # @return [::String]
302
+ # Required. The description or meaning of the term.
303
+ # For example: "Click-through rate", "The percentage of users who complete a
304
+ # desired action", "An order that is waiting to be processed."
305
+ # @!attribute [rw] labels
306
+ # @return [::Array<::String>]
307
+ # Optional. A list of general purpose labels associated to this term.
308
+ # For example: ["click rate", "clickthrough", "waiting"]
309
+ class GlossaryTerm
310
+ include ::Google::Protobuf::MessageExts
311
+ extend ::Google::Protobuf::MessageExts::ClassMethods
312
+ end
313
+
314
+ # Options for the conversation.
315
+ # @!attribute [rw] analysis
316
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::AnalysisOptions]
317
+ # Optional. Options for analysis.
318
+ # @!attribute [rw] datasource
319
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::DatasourceOptions]
320
+ # Optional. Options for datasources.
321
+ # @!attribute [rw] model
322
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ConversationOptions::Model]
323
+ # Optional. The model to use for the agent loop.
324
+ class ConversationOptions
325
+ include ::Google::Protobuf::MessageExts
326
+ extend ::Google::Protobuf::MessageExts::ClassMethods
327
+
328
+ # Allowed models for the agent/conversation.
329
+ module Model
330
+ # No model specified. The model may be set on the chat request, or the
331
+ # default model will be used. Currently, this is
332
+ # `gemini-3.0-flash-preview`.
333
+ MODEL_UNSPECIFIED = 0
334
+
335
+ # Use the most up-to-date non-preview model. Currently, this is
336
+ # `gemini-2.5-flash`. This constrains the request level settings. The
337
+ # default will change to `gemini-2.5-flash`, and setting `thinking_mode`
338
+ # will not be supported.
339
+ LATEST_GA_MODEL = 1
340
+ end
341
+ end
342
+
343
+ # Options for datasources configurations.
344
+ # @!attribute [rw] big_query_max_billed_bytes
345
+ # @return [::Google::Protobuf::Int64Value]
346
+ # Optional. This option applies to datasources that require BigQuery queries
347
+ # only. Limits the bytes billed for each BQ query job. Queries that will have
348
+ # bytes billed beyond this limit will fail (without incurring a charge).
349
+ # If unspecified, no limit will be applied.
350
+ class DatasourceOptions
351
+ include ::Google::Protobuf::MessageExts
352
+ extend ::Google::Protobuf::MessageExts::ClassMethods
353
+ end
354
+
355
+ # Options for analysis.
356
+ # @!attribute [rw] python
357
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::AnalysisOptions::Python]
358
+ # Optional. Options for Python analysis.
359
+ class AnalysisOptions
360
+ include ::Google::Protobuf::MessageExts
361
+ extend ::Google::Protobuf::MessageExts::ClassMethods
362
+
363
+ # Options for Python analysis.
364
+ # @!attribute [rw] enabled
365
+ # @return [::Boolean]
366
+ # Optional. Whether to enable Python analysis.
367
+ # Defaults to false.
368
+ class Python
369
+ include ::Google::Protobuf::MessageExts
370
+ extend ::Google::Protobuf::MessageExts::ClassMethods
371
+ end
372
+ end
373
+
374
+ # Source attributions for content.
375
+ # @!attribute [r] sources
376
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::CitationSource>]
377
+ # Output only. List of the sources being cited.
378
+ # @!attribute [r] anchors
379
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::CitationAnchor>]
380
+ # Output only. List of the anchors of the citations.
381
+ class Citation
382
+ include ::Google::Protobuf::MessageExts
383
+ extend ::Google::Protobuf::MessageExts::ClassMethods
384
+ end
385
+
386
+ # The source of the citation.
387
+ # @!attribute [r] uri
388
+ # @return [::String]
389
+ # Output only. The uri used as the source, such as a web grounding URL.
390
+ #
391
+ # Note: The following fields are mutually exclusive: `uri`, `example_query`, `glossary_term`. If a field in that set is populated, all other fields in the set will automatically be cleared.
392
+ # @!attribute [r] example_query
393
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::ExampleQuery]
394
+ # Output only. The example query used as the source.
395
+ #
396
+ # Note: The following fields are mutually exclusive: `example_query`, `uri`, `glossary_term`. If a field in that set is populated, all other fields in the set will automatically be cleared.
397
+ # @!attribute [r] glossary_term
398
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::GlossaryTerm]
399
+ # Output only. The glossary term used as the source.
400
+ #
401
+ # Note: The following fields are mutually exclusive: `glossary_term`, `uri`, `example_query`. If a field in that set is populated, all other fields in the set will automatically be cleared.
402
+ # @!attribute [r] id
403
+ # @return [::String]
404
+ # Output only. Unique identifier of the source. This ID is service-generated
405
+ # and is unique within the scope of a single `Citation` message.
406
+ # @!attribute [r] title
407
+ # @return [::String]
408
+ # Output only. The title of the source.
409
+ class CitationSource
410
+ include ::Google::Protobuf::MessageExts
411
+ extend ::Google::Protobuf::MessageExts::ClassMethods
412
+ end
413
+
414
+ # The anchor of the citation.
415
+ # @!attribute [r] text_message_anchor
416
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::CitationAnchor::TextMessageCitationAnchor]
417
+ # Output only. Only set if the citation is for a TextMessage.
418
+ class CitationAnchor
419
+ include ::Google::Protobuf::MessageExts
420
+ extend ::Google::Protobuf::MessageExts::ClassMethods
421
+
422
+ # Citation anchor within a TextMessage.
423
+ # @!attribute [r] part_index
424
+ # @return [::Integer]
425
+ # Output only. The 0-based index of the part within the TextMessage.parts
426
+ # field.
427
+ # @!attribute [r] start_offset_bytes
428
+ # @return [::Integer]
429
+ # Output only. The offset, measured in UTF-8 bytes, within the part string
430
+ # where the citation begins (inclusive). Example: For the text "Hello,
431
+ # world" where "world" is cited, the start offset bytes (inclusive) is 7
432
+ # and the end offset bytes (exclusive) is 12.
433
+ # @!attribute [r] end_offset_bytes
434
+ # @return [::Integer]
435
+ # Output only. The offset, measured in UTF-8 bytes, within the part string
436
+ # where the citation ends (exclusive). Example: For the text "Hello, world"
437
+ # where "world" is cited, the start offset bytes (inclusive) is 7 and the
438
+ # end offset bytes (exclusive) is 12.
439
+ # @!attribute [r] source_ids
440
+ # @return [::Array<::String>]
441
+ # Output only. The ids of the sources that are cited.
442
+ class TextMessageCitationAnchor
443
+ include ::Google::Protobuf::MessageExts
444
+ extend ::Google::Protobuf::MessageExts::ClassMethods
445
+ end
446
+ end
447
+ end
448
+ end
449
+ end
450
+ end
@@ -0,0 +1,167 @@
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
+ # Message for a conversation.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Optional. Identifier. The unique resource name of a conversation. Format:
28
+ # `projects/{project}/locations/{location}/conversations/{conversation_id}`
29
+ # `{conversation_id}` is the resource id and should be 63 characters or less
30
+ # and must match the format described in
31
+ # https://google.aip.dev/122#resource-id-segments
32
+ #
33
+ # Example:
34
+ # `projects/1234567890/locations/global/conversations/my-conversation`.
35
+ #
36
+ # It is recommended to skip setting this field during conversation creation
37
+ # as it will be inferred automatically and overwritten with the
38
+ # \\{parent}/conversations/\\{conversation_id}.
39
+ # @!attribute [rw] agents
40
+ # @return [::Array<::String>]
41
+ # Required. Agent(s) in the conversation.
42
+ # Currently, only one agent is supported. This field is repeated to allow
43
+ # for future support of multiple agents in a conversation.
44
+ # Format: `projects/{project}/locations/{location}/dataAgents/{agent}`
45
+ # @!attribute [r] create_time
46
+ # @return [::Google::Protobuf::Timestamp]
47
+ # Output only. Creation timestamp.
48
+ # @!attribute [r] last_used_time
49
+ # @return [::Google::Protobuf::Timestamp]
50
+ # Output only. Timestamp of the last used conversation.
51
+ # @!attribute [rw] labels
52
+ # @return [::Google::Protobuf::Map{::String => ::String}]
53
+ # Optional. Open-ended and user-defined labels that can be set by the client
54
+ # to tag a conversation (e.g. to filter conversations for specific
55
+ # surfaces/products).
56
+ # @!attribute [rw] kms_key
57
+ # @return [::String]
58
+ # Optional. Customer managed encryption key (CMEK) to use for encrypting the
59
+ # Conversation resources. Encryption will happen at Titan layer, we will pass
60
+ # the KMS key to Titan.
61
+ #
62
+ # Format:
63
+ # projects/\\{project_id}/locations/\\{location}/keyRings/\\{key_ring_name}/cryptoKeys/\\{key_name}.
64
+ # @!attribute [rw] memory_paused
65
+ # @return [::Boolean]
66
+ # Optional. Whether memory is paused for this conversation.
67
+ class Conversation
68
+ include ::Google::Protobuf::MessageExts
69
+ extend ::Google::Protobuf::MessageExts::ClassMethods
70
+
71
+ # @!attribute [rw] key
72
+ # @return [::String]
73
+ # @!attribute [rw] value
74
+ # @return [::String]
75
+ class LabelsEntry
76
+ include ::Google::Protobuf::MessageExts
77
+ extend ::Google::Protobuf::MessageExts::ClassMethods
78
+ end
79
+ end
80
+
81
+ # Request for creating a conversation.
82
+ # @!attribute [rw] parent
83
+ # @return [::String]
84
+ # Required. Parent value for CreateConversationRequest.
85
+ # Format: `projects/{project}/locations/{location}`
86
+ # @!attribute [rw] conversation_id
87
+ # @return [::String]
88
+ # Optional. The conversation id of the conversation to create.
89
+ # Must be unique within the parent.
90
+ # The allowed format is: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
91
+ # If not provided, the server will auto-generate a value for the id.
92
+ # @!attribute [rw] conversation
93
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1::Conversation]
94
+ # Required. The conversation to create.
95
+ # @!attribute [rw] request_id
96
+ # @return [::String]
97
+ # Optional. An optional request ID to identify requests. Specify a unique
98
+ # request ID so that if you must retry your request, the server will know to
99
+ # ignore the request if it has already been completed. The server will
100
+ # guarantee that for at least 60 minutes since the first request.
101
+ class CreateConversationRequest
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
+ end
105
+
106
+ # Request for getting a conversation based on parent and conversation id.
107
+ # @!attribute [rw] name
108
+ # @return [::String]
109
+ # Required. Name of the resource.
110
+ # Format:
111
+ # `projects/{project}/locations/{location}/conversations/{conversation}`
112
+ class GetConversationRequest
113
+ include ::Google::Protobuf::MessageExts
114
+ extend ::Google::Protobuf::MessageExts::ClassMethods
115
+ end
116
+
117
+ # Request for listing conversations based on parent.
118
+ # @!attribute [rw] parent
119
+ # @return [::String]
120
+ # Required. Parent value for ListConversationsRequest.
121
+ # Format: `projects/{project}/locations/{location}`
122
+ # @!attribute [rw] page_size
123
+ # @return [::Integer]
124
+ # Optional. Requested page size. Server may return fewer items than
125
+ # requested. The max page size is `100`. All larger page sizes will be
126
+ # coerced to `100`. If unspecified, server will pick `50` as an appropriate
127
+ # default.
128
+ # @!attribute [rw] page_token
129
+ # @return [::String]
130
+ # Optional. A token identifying a page of results the server should return.
131
+ # @!attribute [rw] filter
132
+ # @return [::String]
133
+ # Optional. Returned conversations will match criteria specified within the
134
+ # filter. ListConversations allows filtering by:
135
+ # * agents
136
+ # * labels
137
+ class ListConversationsRequest
138
+ include ::Google::Protobuf::MessageExts
139
+ extend ::Google::Protobuf::MessageExts::ClassMethods
140
+ end
141
+
142
+ # Message for response to listing conversations.
143
+ # @!attribute [rw] conversations
144
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1::Conversation>]
145
+ # The list of conversations.
146
+ # @!attribute [rw] next_page_token
147
+ # @return [::String]
148
+ # A token identifying a page of results the server should return.
149
+ class ListConversationsResponse
150
+ include ::Google::Protobuf::MessageExts
151
+ extend ::Google::Protobuf::MessageExts::ClassMethods
152
+ end
153
+
154
+ # Request for deleting a conversation based on parent and conversation id.
155
+ # @!attribute [rw] name
156
+ # @return [::String]
157
+ # Required. Name of the resource.
158
+ # Format:
159
+ # `projects/{project}/locations/{location}/conversations/{conversation}`
160
+ class DeleteConversationRequest
161
+ include ::Google::Protobuf::MessageExts
162
+ extend ::Google::Protobuf::MessageExts::ClassMethods
163
+ end
164
+ end
165
+ end
166
+ end
167
+ end