google-cloud-gemini_data_analytics-v1beta 0.3.1 → 0.5.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 (21) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/gemini_data_analytics/v1beta/data_agent_service/client.rb +1 -1
  3. data/lib/google/cloud/gemini_data_analytics/v1beta/data_agent_service/rest/client.rb +1 -1
  4. data/lib/google/cloud/gemini_data_analytics/v1beta/data_chat_service/client.rb +208 -6
  5. data/lib/google/cloud/gemini_data_analytics/v1beta/data_chat_service/rest/client.rb +194 -6
  6. data/lib/google/cloud/gemini_data_analytics/v1beta/data_chat_service/rest/service_stub.rb +123 -0
  7. data/lib/google/cloud/gemini_data_analytics/v1beta/version.rb +1 -1
  8. data/lib/google/cloud/geminidataanalytics/v1beta/agent_context_pb.rb +44 -0
  9. data/lib/google/cloud/geminidataanalytics/v1beta/context_pb.rb +8 -1
  10. data/lib/google/cloud/geminidataanalytics/v1beta/conversation_pb.rb +2 -1
  11. data/lib/google/cloud/geminidataanalytics/v1beta/data_chat_service_pb.rb +14 -2
  12. data/lib/google/cloud/geminidataanalytics/v1beta/data_chat_service_services_pb.rb +4 -0
  13. data/lib/google/cloud/geminidataanalytics/v1beta/datasource_pb.rb +13 -1
  14. data/proto_docs/google/cloud/geminidataanalytics/v1beta/agent_context.rb +35 -0
  15. data/proto_docs/google/cloud/geminidataanalytics/v1beta/context.rb +100 -2
  16. data/proto_docs/google/cloud/geminidataanalytics/v1beta/conversation.rb +13 -2
  17. data/proto_docs/google/cloud/geminidataanalytics/v1beta/data_agent.rb +1 -1
  18. data/proto_docs/google/cloud/geminidataanalytics/v1beta/data_chat_service.rb +236 -10
  19. data/proto_docs/google/cloud/geminidataanalytics/v1beta/datasource.rb +188 -11
  20. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  21. metadata +4 -1
@@ -40,14 +40,78 @@ module Google
40
40
  # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1beta::ExampleQuery>]
41
41
  # Optional. A list of example queries, providing examples of relevant and
42
42
  # commonly used SQL queries and their corresponding natural language queries
43
- # optionally present.
43
+ # optionally present. Currently only used for BigQuery data sources.
44
+ # @!attribute [rw] glossary_terms
45
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1beta::GlossaryTerm>]
46
+ # Optional. Term definitions (currently, only user authored)
47
+ # @!attribute [rw] schema_relationships
48
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1beta::Context::SchemaRelationship>]
49
+ # Optional. Relationships between table schema, including referencing and
50
+ # referenced columns.
44
51
  class Context
45
52
  include ::Google::Protobuf::MessageExts
46
53
  extend ::Google::Protobuf::MessageExts::ClassMethods
54
+
55
+ # The relationship between two tables, including referencing and referenced
56
+ # columns. This is a derived context retrieved from Dataplex Dataset
57
+ # Insights.
58
+ # @!attribute [rw] left_schema_paths
59
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::Context::SchemaRelationship::SchemaPaths]
60
+ # An ordered list of fields for the join from the first table.
61
+ # The size of this list must be the same as `right_schema_paths`.
62
+ # Each field at index i in this list must correspond to a field at the same
63
+ # index in the `right_schema_paths` list.
64
+ # @!attribute [rw] right_schema_paths
65
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::Context::SchemaRelationship::SchemaPaths]
66
+ # An ordered list of fields for the join from the second table.
67
+ # The size of this list must be the same as `left_schema_paths`.
68
+ # Each field at index i in this list must correspond to a field at the same
69
+ # index in the `left_schema_paths` list.
70
+ # @!attribute [rw] sources
71
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1beta::Context::SchemaRelationship::Source>]
72
+ # Sources which generated the schema relation edge.
73
+ # @!attribute [rw] confidence_score
74
+ # @return [::Float]
75
+ # A confidence score for the suggested relationship.
76
+ # Manually added edges have the highest confidence score.
77
+ class SchemaRelationship
78
+ include ::Google::Protobuf::MessageExts
79
+ extend ::Google::Protobuf::MessageExts::ClassMethods
80
+
81
+ # Represents an ordered set of paths within the table schema.
82
+ # @!attribute [rw] table_fqn
83
+ # @return [::String]
84
+ # The service-qualified full resource name of the table
85
+ # Ex:
86
+ # bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID
87
+ # @!attribute [rw] paths
88
+ # @return [::Array<::String>]
89
+ # The ordered list of paths within the table schema.
90
+ class SchemaPaths
91
+ include ::Google::Protobuf::MessageExts
92
+ extend ::Google::Protobuf::MessageExts::ClassMethods
93
+ end
94
+
95
+ # Source which generated the schema relation edge.
96
+ module Source
97
+ # The source of the schema relationship is unspecified.
98
+ SOURCE_UNSPECIFIED = 0
99
+
100
+ # The source of the schema relationship is BigQuery job history.
101
+ BIGQUERY_JOB_HISTORY = 1
102
+
103
+ # The source of the schema relationship is LLM suggested.
104
+ LLM_SUGGESTED = 2
105
+
106
+ # The source of the schema relationship is BigQuery table constraints.
107
+ BIGQUERY_TABLE_CONSTRAINTS = 3
108
+ end
109
+ end
47
110
  end
48
111
 
49
112
  # Example of relevant and commonly used SQL query and its corresponding natural
50
- # language queries optionally present.
113
+ # language queries optionally present. Currently only used for BigQuery data
114
+ # sources.
51
115
  # @!attribute [rw] sql_query
52
116
  # @return [::String]
53
117
  # Optional. The SQL query that should be generated to answer the natural
@@ -62,6 +126,25 @@ module Google
62
126
  extend ::Google::Protobuf::MessageExts::ClassMethods
63
127
  end
64
128
 
129
+ # Definition of a term within a specific domain.
130
+ # @!attribute [rw] display_name
131
+ # @return [::String]
132
+ # Required. User friendly display name of the glossary term being defined.
133
+ # For example: "CTR", "conversion rate", "pending"
134
+ # @!attribute [rw] description
135
+ # @return [::String]
136
+ # Required. The description or meaning of the term.
137
+ # For example: "Click-through rate", "The percentage of users who complete a
138
+ # desired action", "An order that is waiting to be processed."
139
+ # @!attribute [rw] labels
140
+ # @return [::Array<::String>]
141
+ # Optional. A list of general purpose labels associated to this term.
142
+ # For example: ["click rate", "clickthrough", "waiting"]
143
+ class GlossaryTerm
144
+ include ::Google::Protobuf::MessageExts
145
+ extend ::Google::Protobuf::MessageExts::ClassMethods
146
+ end
147
+
65
148
  # Options for the conversation.
66
149
  # @!attribute [rw] chart
67
150
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::ChartOptions]
@@ -69,11 +152,26 @@ module Google
69
152
  # @!attribute [rw] analysis
70
153
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::AnalysisOptions]
71
154
  # Optional. Options for analysis.
155
+ # @!attribute [rw] datasource
156
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::DatasourceOptions]
157
+ # Optional. Options for datasources.
72
158
  class ConversationOptions
73
159
  include ::Google::Protobuf::MessageExts
74
160
  extend ::Google::Protobuf::MessageExts::ClassMethods
75
161
  end
76
162
 
163
+ # Options for datasources configurations.
164
+ # @!attribute [rw] big_query_max_billed_bytes
165
+ # @return [::Google::Protobuf::Int64Value]
166
+ # Optional. This option applies to datasources that require BigQuery queries
167
+ # only. Limits the bytes billed for each BQ query job. Queries that will have
168
+ # bytes billed beyond this limit will fail (without incurring a charge).
169
+ # If unspecified, no limit will be applied.
170
+ class DatasourceOptions
171
+ include ::Google::Protobuf::MessageExts
172
+ extend ::Google::Protobuf::MessageExts::ClassMethods
173
+ end
174
+
77
175
  # Options for chart generation.
78
176
  # @!attribute [rw] image
79
177
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::ChartOptions::ImageOptions]
@@ -31,7 +31,7 @@ module Google
31
31
  # https://google.aip.dev/122#resource-id-segments
32
32
  #
33
33
  # Example:
34
- # `projects/1234567890/locations/us-central1/conversations/my-conversation`.
34
+ # `projects/1234567890/locations/global/conversations/my-conversation`.
35
35
  #
36
36
  # It is recommended to skip setting this field during conversation creation
37
37
  # as it will be inferred automatically and overwritten with the
@@ -120,7 +120,7 @@ module Google
120
120
  # @return [::String]
121
121
  # Optional. Returned conversations will match criteria specified within the
122
122
  # filter. ListConversations allows filtering by:
123
- # * agent_id
123
+ # * agents
124
124
  # * labels
125
125
  class ListConversationsRequest
126
126
  include ::Google::Protobuf::MessageExts
@@ -138,6 +138,17 @@ module Google
138
138
  include ::Google::Protobuf::MessageExts
139
139
  extend ::Google::Protobuf::MessageExts::ClassMethods
140
140
  end
141
+
142
+ # Request for deleting a conversation based on parent and conversation id.
143
+ # @!attribute [rw] name
144
+ # @return [::String]
145
+ # Required. Name of the resource.
146
+ # Format:
147
+ # `projects/{project}/locations/{location}/conversations/{conversation}`
148
+ class DeleteConversationRequest
149
+ include ::Google::Protobuf::MessageExts
150
+ extend ::Google::Protobuf::MessageExts::ClassMethods
151
+ end
141
152
  end
142
153
  end
143
154
  end
@@ -34,7 +34,7 @@ module Google
34
34
  # must match the format described in
35
35
  # https://google.aip.dev/122#resource-id-segments
36
36
  #
37
- # Example: `projects/1234567890/locations/us-central1/dataAgents/my-agent`.
37
+ # Example: `projects/1234567890/locations/global/dataAgents/my-agent`.
38
38
  #
39
39
  # It is recommended to skip setting this field during agent creation as it
40
40
  # will be inferred automatically and overwritten with the
@@ -21,6 +21,148 @@ module Google
21
21
  module Cloud
22
22
  module GeminiDataAnalytics
23
23
  module V1beta
24
+ # Request to query data from a natural language query.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. The parent resource to generate the query for.
28
+ # Format: projects/\\{project}/locations/\\{location}
29
+ # @!attribute [rw] prompt
30
+ # @return [::String]
31
+ # Required. The natural language query for which to generate query.
32
+ # Example: "What are the top 5 best selling products this month?"
33
+ # @!attribute [rw] context
34
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::QueryDataContext]
35
+ # Required. The context for the data query, including the data sources to
36
+ # use.
37
+ # @!attribute [rw] generation_options
38
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::GenerationOptions]
39
+ # Optional. Options to control query generation and execution behavior.
40
+ class QueryDataRequest
41
+ include ::Google::Protobuf::MessageExts
42
+ extend ::Google::Protobuf::MessageExts::ClassMethods
43
+ end
44
+
45
+ # Options to control query generation, execution, and response format.
46
+ # @!attribute [rw] generate_query_result
47
+ # @return [::Boolean]
48
+ # Optional. If true, the generated query will be executed, and the result
49
+ # data will be returned in the response.
50
+ # @!attribute [rw] generate_natural_language_answer
51
+ # @return [::Boolean]
52
+ # Optional. If true, a natural language answer based on the query execution
53
+ # result will be generated and returned in the response.
54
+ # @!attribute [rw] generate_explanation
55
+ # @return [::Boolean]
56
+ # Optional. If true, an explanation of the generated query will be returned
57
+ # in the response.
58
+ # @!attribute [rw] generate_disambiguation_question
59
+ # @return [::Boolean]
60
+ # Optional. If true (default to false), the service may return a
61
+ # clarifying_question if the input query is ambiguous.
62
+ class GenerationOptions
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
+ end
66
+
67
+ # References to data sources and context to use for the query.
68
+ # @!attribute [rw] datasource_references
69
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::DatasourceReferences]
70
+ # Required. The datasource references to use for the query.
71
+ class QueryDataContext
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
+ end
75
+
76
+ # Response containing the generated query and related information.
77
+ # @!attribute [rw] generated_query
78
+ # @return [::String]
79
+ # Generated query for the given user prompt.
80
+ # @!attribute [rw] intent_explanation
81
+ # @return [::String]
82
+ # A natural language explanation of the generated query.
83
+ # Populated if options.generate_explanation was true in the request.
84
+ # @!attribute [rw] query_result
85
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::ExecutedQueryResult]
86
+ # The result of executing the query.
87
+ # Populated if options.generate_query_result or
88
+ # options.generate_natural_language_answer was true in the request, and
89
+ # execution was successful or attempted.
90
+ # @!attribute [rw] natural_language_answer
91
+ # @return [::String]
92
+ # A natural language answer to the query, based on the query_result.
93
+ # Populated if options.generate_natural_language_answer was true in the
94
+ # request and query execution was successful based in the response from
95
+ # executeSql API.
96
+ # @!attribute [rw] disambiguation_question
97
+ # @return [::Array<::String>]
98
+ # If ambiguity was detected in the natural language query and
99
+ # options.generate_disambiguation_question was true, this field contains a
100
+ # question to the user for clarification. The returned represents the
101
+ # service's best effort based on the ambiguous input.
102
+ class QueryDataResponse
103
+ include ::Google::Protobuf::MessageExts
104
+ extend ::Google::Protobuf::MessageExts::ClassMethods
105
+ end
106
+
107
+ # The result of a query execution. The design is generic for all dialects.
108
+ # @!attribute [rw] columns
109
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1beta::ExecutedQueryResult::Column>]
110
+ # The columns in the result set, in order.
111
+ # @!attribute [rw] rows
112
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1beta::ExecutedQueryResult::Row>]
113
+ # The rows returned by the query.
114
+ # @!attribute [rw] total_row_count
115
+ # @return [::Integer]
116
+ # The total number of rows in the full result set, if known.
117
+ # This may be an estimate or an exact count.
118
+ # @!attribute [rw] partial_result
119
+ # @return [::Boolean]
120
+ # Set to true if the returned rows in `query_result` are a subset of the
121
+ # full result. This can happen, for example, if the query execution hits a
122
+ # row limit. When true, the `query_result` does not contain all
123
+ # rows. To retrieve the complete result, consider using the
124
+ # `generated_query` in `QueryDataResponse` and executing it in your own
125
+ # environment.
126
+ # @!attribute [rw] query_execution_error
127
+ # @return [::String]
128
+ # The error message if the query execution failed.
129
+ class ExecutedQueryResult
130
+ include ::Google::Protobuf::MessageExts
131
+ extend ::Google::Protobuf::MessageExts::ClassMethods
132
+
133
+ # Describes a single column in the result set.
134
+ # @!attribute [rw] name
135
+ # @return [::String]
136
+ # The name of the column.
137
+ # @!attribute [rw] type
138
+ # @return [::String]
139
+ # The type of the column (e.g., "VARCHAR", "INT64", "TIMESTAMP").
140
+ class Column
141
+ include ::Google::Protobuf::MessageExts
142
+ extend ::Google::Protobuf::MessageExts::ClassMethods
143
+ end
144
+
145
+ # Represents a single value within a row.
146
+ # @!attribute [rw] value
147
+ # @return [::String]
148
+ # The cell value, represented in a string format.
149
+ # Timestamps could be formatted, for example, using RFC3339Nano.
150
+ # This field is used if the value is not null.
151
+ class Value
152
+ include ::Google::Protobuf::MessageExts
153
+ extend ::Google::Protobuf::MessageExts::ClassMethods
154
+ end
155
+
156
+ # Represents a single row in the result set.
157
+ # @!attribute [rw] values
158
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1beta::ExecutedQueryResult::Value>]
159
+ # The values in the row, corresponding positionally to the columns.
160
+ class Row
161
+ include ::Google::Protobuf::MessageExts
162
+ extend ::Google::Protobuf::MessageExts::ClassMethods
163
+ end
164
+ end
165
+
24
166
  # Request for listing chat messages based on parent and conversation_id.
25
167
  # @!attribute [rw] parent
26
168
  # @return [::String]
@@ -79,19 +221,27 @@ module Google
79
221
  # statelessly (without managed conversation persistence and without an
80
222
  # Agent) by passing all context inline.
81
223
  #
82
- # Note: The following fields are mutually exclusive: `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.
224
+ # 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.
83
225
  # @!attribute [rw] conversation_reference
84
226
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::ConversationReference]
85
227
  # Optional. Reference to a persisted conversation and agent context.
86
228
  # Use this to chat with an Agent using managed conversation persistence.
87
229
  #
88
- # Note: The following fields are mutually exclusive: `conversation_reference`, `inline_context`, `data_agent_context`. If a field in that set is populated, all other fields in the set will automatically be cleared.
230
+ # 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.
89
231
  # @!attribute [rw] data_agent_context
90
232
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::DataAgentContext]
91
233
  # Optional. Context for the chat request. Use this to chat with an Agent
92
234
  # statelessly, without managed conversation persistence.
93
235
  #
94
- # Note: The following fields are mutually exclusive: `data_agent_context`, `inline_context`, `conversation_reference`. If a field in that set is populated, all other fields in the set will automatically be cleared.
236
+ # 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.
237
+ # @!attribute [rw] client_managed_resource_context
238
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::ClientManagedResourceContext]
239
+ # Optional. Context with client managed resources.
240
+ # Some clients may not use GDA managed resources including
241
+ # conversations and agents, instead they create and manage their own
242
+ # conversations and agents resources.
243
+ #
244
+ # 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.
95
245
  # @!attribute [rw] project
96
246
  # @deprecated This field is deprecated and may be removed in the next major version update.
97
247
  # @return [::String]
@@ -158,6 +308,25 @@ module Google
158
308
  extend ::Google::Protobuf::MessageExts::ClassMethods
159
309
  end
160
310
 
311
+ # Context with client managed resources.
312
+ # Some clients may not use GDA managed resources including
313
+ # conversations and agents, instead they create and manage their own
314
+ # conversations and agents resources.
315
+ # @!attribute [rw] inline_context
316
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::Context]
317
+ # Required. Context for the chat request. Use this to chat without GDA API
318
+ # managed conversation and agent persistence by passing all context inline.
319
+ # @!attribute [rw] conversation_id
320
+ # @return [::String]
321
+ # Optional. The client managed conversation id.
322
+ # @!attribute [rw] agent_id
323
+ # @return [::String]
324
+ # Optional. The client managed agent id.
325
+ class ClientManagedResourceContext
326
+ include ::Google::Protobuf::MessageExts
327
+ extend ::Google::Protobuf::MessageExts::ClassMethods
328
+ end
329
+
161
330
  # A message from an interaction between the user and the system.
162
331
  # @!attribute [rw] user_message
163
332
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::UserMessage]
@@ -198,32 +367,37 @@ module Google
198
367
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::TextMessage]
199
368
  # A direct natural language response to the user message.
200
369
  #
201
- # Note: The following fields are mutually exclusive: `text`, `schema`, `data`, `analysis`, `chart`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
370
+ # 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.
202
371
  # @!attribute [rw] schema
203
372
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::SchemaMessage]
204
373
  # A message produced during schema resolution.
205
374
  #
206
- # Note: The following fields are mutually exclusive: `schema`, `text`, `data`, `analysis`, `chart`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
375
+ # 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.
207
376
  # @!attribute [rw] data
208
377
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::DataMessage]
209
378
  # A message produced during data retrieval.
210
379
  #
211
- # Note: The following fields are mutually exclusive: `data`, `text`, `schema`, `analysis`, `chart`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
380
+ # 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.
212
381
  # @!attribute [rw] analysis
213
382
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::AnalysisMessage]
214
383
  # A message produced during analysis.
215
384
  #
216
- # Note: The following fields are mutually exclusive: `analysis`, `text`, `schema`, `data`, `chart`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
385
+ # 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.
217
386
  # @!attribute [rw] chart
218
387
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::ChartMessage]
219
388
  # A message produced during chart generation.
220
389
  #
221
- # Note: The following fields are mutually exclusive: `chart`, `text`, `schema`, `data`, `analysis`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
390
+ # 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.
222
391
  # @!attribute [rw] error
223
392
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::ErrorMessage]
224
393
  # An error message.
225
394
  #
226
- # Note: The following fields are mutually exclusive: `error`, `text`, `schema`, `data`, `analysis`, `chart`. If a field in that set is populated, all other fields in the set will automatically be cleared.
395
+ # 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.
396
+ # @!attribute [rw] example_queries
397
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::ExampleQueries]
398
+ # Optional. A message containing example queries.
399
+ #
400
+ # 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.
227
401
  # @!attribute [rw] group_id
228
402
  # @return [::Integer]
229
403
  # Identifies the group that the event belongs to. Similar events are deemed
@@ -238,9 +412,31 @@ module Google
238
412
  # @!attribute [rw] parts
239
413
  # @return [::Array<::String>]
240
414
  # Optional. The parts of the message.
415
+ # @!attribute [rw] text_type
416
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::TextMessage::TextType]
417
+ # Optional. The type of the text message.
241
418
  class TextMessage
242
419
  include ::Google::Protobuf::MessageExts
243
420
  extend ::Google::Protobuf::MessageExts::ClassMethods
421
+
422
+ # The type of the text message.
423
+ module TextType
424
+ # The default text type.
425
+ TEXT_TYPE_UNSPECIFIED = 0
426
+
427
+ # The text is a final response to the user question.
428
+ FINAL_RESPONSE = 1
429
+
430
+ # The text is a thinking plan generated by the thinking tool.
431
+ THOUGHT = 2
432
+
433
+ # The text is an informational message about the agent's progress, such as
434
+ # a tool being invoked. This is distinct from the agent's internal thought
435
+ # process (`THOUGHT`) and the final answer to the user
436
+ # (`FINAL_RESPONSE`). These messages provide insight into the agent's
437
+ # actions.
438
+ PROGRESS = 3
439
+ end
244
440
  end
245
441
 
246
442
  # A message produced during schema resolution.
@@ -294,8 +490,10 @@ module Google
294
490
  #
295
491
  # Note: The following fields are mutually exclusive: `result`, `query`, `generated_sql`, `generated_looker_query`, `big_query_job`. If a field in that set is populated, all other fields in the set will automatically be cleared.
296
492
  # @!attribute [rw] generated_looker_query
493
+ # @deprecated This field is deprecated and may be removed in the next major version update.
297
494
  # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::LookerQuery]
298
495
  # Looker Query generated by the system to retrieve data.
496
+ # DEPRECATED: generated looker query is now under DataQuery.looker.
299
497
  #
300
498
  # Note: The following fields are mutually exclusive: `generated_looker_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.
301
499
  # @!attribute [rw] big_query_job
@@ -347,6 +545,9 @@ module Google
347
545
  end
348
546
 
349
547
  # A query for retrieving data.
548
+ # @!attribute [rw] looker
549
+ # @return [::Google::Cloud::GeminiDataAnalytics::V1beta::LookerQuery]
550
+ # Optional. A query for retrieving data from a Looker explore.
350
551
  # @!attribute [rw] question
351
552
  # @return [::String]
352
553
  # Optional. A natural language question to answer.
@@ -550,7 +751,20 @@ module Google
550
751
  extend ::Google::Protobuf::MessageExts::ClassMethods
551
752
  end
552
753
 
553
- # An error message.
754
+ # An error message from a tool call.
755
+ # This message is used to represent an error that occurred while an agent was
756
+ # trying to use a tool. It's important to note that not all errors are
757
+ # terminal. Many are recoverable, and the agent may use the information from
758
+ # this error message to self-correct and retry the tool call or try a
759
+ # different approach.
760
+ #
761
+ # For example, if a data query fails, the agent might receive an
762
+ # `ErrorMessage`, analyze it, and then generate a corrected query.
763
+ #
764
+ # Clients should be cautious about interpreting this message as a definitive
765
+ # failure. It can be part of the agent's normal, iterative process of
766
+ # completing a task. Surfacing these errors directly to end-users without
767
+ # context (e.g., as a "hard failure") may be misleading.
554
768
  # @!attribute [r] text
555
769
  # @return [::String]
556
770
  # Output only. The text of the error.
@@ -559,6 +773,18 @@ module Google
559
773
  extend ::Google::Protobuf::MessageExts::ClassMethods
560
774
  end
561
775
 
776
+ # A message containing derived and authored example queries.
777
+ # @!attribute [rw] example_queries
778
+ # @return [::Array<::Google::Cloud::GeminiDataAnalytics::V1beta::ExampleQuery>]
779
+ # Optional. A list of derived and authored example queries, providing
780
+ # examples of relevant and commonly used SQL queries and their corresponding
781
+ # natural language queries optionally present. Currently only used for
782
+ # BigQuery data sources.
783
+ class ExampleQueries
784
+ include ::Google::Protobuf::MessageExts
785
+ extend ::Google::Protobuf::MessageExts::ClassMethods
786
+ end
787
+
562
788
  # A blob of data with a MIME type.
563
789
  # @!attribute [rw] mime_type
564
790
  # @return [::String]