Skip to content

Commit 9fcfbea

Browse files
Google APIscopybara-github
authored andcommitted
feat: Adding a new TextType PROGRESS to provide informational messages about an agent's progress for supporting more granular Agent RAG tools
feat: Adding struct_schema to Datasource to support flexible schemas, particularly for Looker datasources feat: Adding client_managed_resource_context to allow clients to manage their own conversation and agent resources PiperOrigin-RevId: 828965493
1 parent 8cc2927 commit 9fcfbea

File tree

4 files changed

+69
-1
lines changed

4 files changed

+69
-1
lines changed

google/cloud/geminidataanalytics/v1alpha/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ proto_library(
4646
"@com_google_protobuf//:field_mask_proto",
4747
"@com_google_protobuf//:struct_proto",
4848
"@com_google_protobuf//:timestamp_proto",
49+
"@com_google_protobuf//:wrappers_proto",
4950
],
5051
)
5152

google/cloud/geminidataanalytics/v1alpha/context.proto

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package google.cloud.geminidataanalytics.v1alpha;
1818

1919
import "google/api/field_behavior.proto";
2020
import "google/cloud/geminidataanalytics/v1alpha/datasource.proto";
21+
import "google/protobuf/wrappers.proto";
2122

2223
option csharp_namespace = "Google.Cloud.GeminiDataAnalytics.V1Alpha";
2324
option go_package = "cloud.google.com/go/geminidataanalytics/apiv1alpha/geminidataanalyticspb;geminidataanalyticspb";
@@ -151,6 +152,19 @@ message ConversationOptions {
151152

152153
// Optional. Options for analysis.
153154
AnalysisOptions analysis = 2 [(google.api.field_behavior) = OPTIONAL];
155+
156+
// Optional. Options for datasources.
157+
DatasourceOptions datasource = 3 [(google.api.field_behavior) = OPTIONAL];
158+
}
159+
160+
// Options for datasources configurations.
161+
message DatasourceOptions {
162+
// Optional. This option applies to datasources that require BigQuery queries
163+
// only. Limits the bytes billed for each BQ query job. Queries that will have
164+
// bytes billed beyond this limit will fail (without incurring a charge).
165+
// If unspecified, no limit will be applied.
166+
google.protobuf.Int64Value big_query_max_billed_bytes = 1
167+
[(google.api.field_behavior) = OPTIONAL];
154168
}
155169

156170
// Options for chart generation.

google/cloud/geminidataanalytics/v1alpha/data_chat_service.proto

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,13 @@ message ChatRequest {
169169
// statelessly, without managed conversation persistence.
170170
DataAgentContext data_agent_context = 104
171171
[(google.api.field_behavior) = OPTIONAL];
172+
173+
// Optional. Context with client managed resources.
174+
// Some clients may not use GDA managed resources including
175+
// conversations and agents, instead they create and manage their own
176+
// conversations and agents resources.
177+
ClientManagedResourceContext client_managed_resource_context = 105
178+
[(google.api.field_behavior) = OPTIONAL];
172179
}
173180

174181
// Optional. The Google Cloud project to be used for quota and billing.
@@ -243,6 +250,22 @@ message ConversationReference {
243250
[(google.api.field_behavior) = REQUIRED];
244251
}
245252

253+
// Context with client managed resources.
254+
// Some clients may not use GDA managed resources including
255+
// conversations and agents, instead they create and manage their own
256+
// conversations and agents resources.
257+
message ClientManagedResourceContext {
258+
// Required. Context for the chat request. Use this to chat without GDA API
259+
// managed conversation and agent persistence by passing all context inline.
260+
Context inline_context = 1 [(google.api.field_behavior) = REQUIRED];
261+
262+
// Optional. The client managed conversation id.
263+
string conversation_id = 2 [(google.api.field_behavior) = OPTIONAL];
264+
265+
// Optional. The client managed agent id.
266+
string agent_id = 3 [(google.api.field_behavior) = OPTIONAL];
267+
}
268+
246269
// A message from an interaction between the user and the system.
247270
message Message {
248271
// The kind of message.
@@ -320,6 +343,13 @@ message TextMessage {
320343

321344
// The text is a thinking plan generated by the thinking tool.
322345
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;
323353
}
324354

325355
// Optional. The parts of the message.
@@ -579,7 +609,20 @@ message ChartResult {
579609
Blob image = 3 [(google.api.field_behavior) = OPTIONAL];
580610
}
581611

582-
// An error message.
612+
// An error message from a tool call.
613+
// This message is used to represent an error that occurred while an agent was
614+
// trying to use a tool. It's important to note that not all errors are
615+
// terminal. Many are recoverable, and the agent may use the information from
616+
// this error message to self-correct and retry the tool call or try a
617+
// different approach.
618+
//
619+
// For example, if a data query fails, the agent might receive an
620+
// `ErrorMessage`, analyze it, and then generate a corrected query.
621+
//
622+
// Clients should be cautious about interpreting this message as a definitive
623+
// failure. It can be part of the agent's normal, iterative process of
624+
// completing a task. Surfacing these errors directly to end-users without
625+
// context (e.g., as a "hard failure") may be misleading.
583626
message ErrorMessage {
584627
// Output only. The text of the error.
585628
string text = 1 [(google.api.field_behavior) = OUTPUT_ONLY];

google/cloud/geminidataanalytics/v1alpha/datasource.proto

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package google.cloud.geminidataanalytics.v1alpha;
1818

1919
import "google/api/field_behavior.proto";
2020
import "google/cloud/geminidataanalytics/v1alpha/credentials.proto";
21+
import "google/protobuf/struct.proto";
2122

2223
option csharp_namespace = "Google.Cloud.GeminiDataAnalytics.V1Alpha";
2324
option go_package = "cloud.google.com/go/geminidataanalytics/apiv1alpha/geminidataanalyticspb;geminidataanalyticspb";
@@ -155,6 +156,15 @@ message Datasource {
155156

156157
// Optional. The schema of the datasource.
157158
Schema schema = 7 [(google.api.field_behavior) = OPTIONAL];
159+
160+
// Optional. A struct representation of the schema.
161+
// This is populated for datasources with schemas that cannot be
162+
// fully represented by the strongly-typed `schema` field.
163+
//
164+
// For Looker datasources, this maps to the LookmlModelExplore type:
165+
// https://cloud.google.com/looker/docs/reference/looker-api/latest/types/LookmlModelExplore
166+
google.protobuf.Struct struct_schema = 10
167+
[(google.api.field_behavior) = OPTIONAL];
158168
}
159169

160170
// The schema of a Datasource or QueryResult instance.

0 commit comments

Comments
 (0)