From ca5092ef486cd50c03bebbfd2989b81ae73c363c Mon Sep 17 00:00:00 2001 From: Google APIs Date: Fri, 30 Jan 2026 21:06:47 -0800 Subject: [PATCH] feat: add ClarificationMessage, thought-signature, formatted-data docs: A comment for enum value THOUGHT in enum TextType is changed PiperOrigin-RevId: 863522376 --- .../geminidataanalytics/v1alpha/BUILD.bazel | 1 + .../v1alpha/data_chat_service.proto | 72 ++++++++++++++++++- .../v1alpha/geminidataanalytics_v1alpha.yaml | 10 ++- 3 files changed, 81 insertions(+), 2 deletions(-) diff --git a/google/cloud/geminidataanalytics/v1alpha/BUILD.bazel b/google/cloud/geminidataanalytics/v1alpha/BUILD.bazel index 496d78776c..05d59a7793 100644 --- a/google/cloud/geminidataanalytics/v1alpha/BUILD.bazel +++ b/google/cloud/geminidataanalytics/v1alpha/BUILD.bazel @@ -355,6 +355,7 @@ load( csharp_proto_library( name = "geminidataanalytics_csharp_proto", + extra_opts = [], deps = [":geminidataanalytics_proto"], ) diff --git a/google/cloud/geminidataanalytics/v1alpha/data_chat_service.proto b/google/cloud/geminidataanalytics/v1alpha/data_chat_service.proto index 703ba3516b..cde5593ded 100644 --- a/google/cloud/geminidataanalytics/v1alpha/data_chat_service.proto +++ b/google/cloud/geminidataanalytics/v1alpha/data_chat_service.proto @@ -458,6 +458,10 @@ message SystemMessage { // Optional. A message containing example queries. ExampleQueries example_queries = 13 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A message containing clarification questions. + ClarificationMessage clarification = 14 + [(google.api.field_behavior) = OPTIONAL]; } // Identifies the group that the event belongs to. Similar events are deemed @@ -476,7 +480,7 @@ message TextMessage { // The text is a final response to the user question. FINAL_RESPONSE = 1; - // The text is a thinking plan generated by the thinking tool. + // The text is a thought from the model. THOUGHT = 2; // The text is an informational message about the agent's progress, such as @@ -492,6 +496,10 @@ message TextMessage { // Optional. The type of the text message. TextType text_type = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An opaque signature for a thought so it can be reused in + // subsequent requests. + bytes thought_signature = 3 [(google.api.field_behavior) = OPTIONAL]; } // A message produced during schema resolution. @@ -583,6 +591,16 @@ message DataResult { // are represented as lists or structs. repeated google.protobuf.Struct data = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Formatted representation of the data, when applicable. + // Each row is a struct that directly corresponds to the row at the same index + // within the `data` field. Its values are string representations of the + // original data, formatted according to data source specifications (e.g., + // "$1,234.56" for currency). Columns without formatting will default to + // their raw value representation. If no columns have formatting rules, this + // field will be empty. + repeated google.protobuf.Struct formatted_data = 6 + [(google.api.field_behavior) = OPTIONAL]; } // A BigQuery job executed by the system. @@ -731,6 +749,58 @@ message ErrorMessage { string text = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } +// Represents a single question to the user to help clarify their query. +message ClarificationQuestion { + // The selection mode for the clarification question. + enum SelectionMode { + // Unspecified selection mode. + SELECTION_MODE_UNSPECIFIED = 0; + + // The user can select only one option. + SINGLE_SELECT = 1; + + // The user can select multiple options. + MULTI_SELECT = 2; + } + + // The type of clarification question. + // This enum may be extended with new values in the future. + enum ClarificationQuestionType { + // Unspecified clarification question type. + CLARIFICATION_QUESTION_TYPE_UNSPECIFIED = 0; + + // The clarification question is for filter values. + FILTER_VALUES = 1; + + // The clarification question is for data fields. This is a generic term + // encompassing SQL columns, Looker fields (dimensions/measures), or + // nested data structure properties. + FIELDS = 2; + } + + // Required. The natural language question to ask the user. + string question = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The selection mode for this question. + SelectionMode selection_mode = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. A list of distinct options for the user to choose from. + // The number of options is limited to a maximum of 5. + repeated string options = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The type of clarification question. + ClarificationQuestionType clarification_question_type = 4 + [(google.api.field_behavior) = OPTIONAL]; +} + +// A message of questions to help clarify the user's query. This is returned +// when the system cannot confidently answer the user's question. +message ClarificationMessage { + // Required. A batch of clarification questions to ask the user. + repeated ClarificationQuestion questions = 1 + [(google.api.field_behavior) = REQUIRED]; +} + // A message containing derived and authored example queries. message ExampleQueries { // Optional. A list of derived and authored example queries, providing diff --git a/google/cloud/geminidataanalytics/v1alpha/geminidataanalytics_v1alpha.yaml b/google/cloud/geminidataanalytics/v1alpha/geminidataanalytics_v1alpha.yaml index aaeec50985..d882550a17 100644 --- a/google/cloud/geminidataanalytics/v1alpha/geminidataanalytics_v1alpha.yaml +++ b/google/cloud/geminidataanalytics/v1alpha/geminidataanalytics_v1alpha.yaml @@ -18,7 +18,15 @@ documentation: description: Gets information about a location. - selector: google.cloud.location.Locations.ListLocations - description: Lists information about the supported locations for this service. + description: |- + Lists information about the supported locations for this service. + This method can be called in two ways: + + * **List all public locations:** Use the path `GET /v1/locations`. + * **List project-visible locations:** Use the path + `GET /v1/projects/{project_id}/locations`. This may include public + locations as well as private or other locations specifically visible + to the project. http: rules: