@@ -29,6 +29,56 @@ option ruby_package = "Google::Cloud::GeminiDataAnalytics::V1alpha";
2929
3030// A collection of context to apply to this conversation
3131message Context {
32+ // The relationship between two tables, including referencing and referenced
33+ // columns. This is a derived context retrieved from Dataplex Dataset
34+ // Insights.
35+ message SchemaRelationship {
36+ // Represents an ordered set of paths within the table schema.
37+ message SchemaPaths {
38+ // The service-qualified full resource name of the table
39+ // Ex:
40+ // bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID
41+ string table_fqn = 1 ;
42+
43+ // The ordered list of paths within the table schema.
44+ repeated string paths = 2 ;
45+ }
46+
47+ // Source which generated the schema relation edge.
48+ enum Source {
49+ // The source of the schema relationship is unspecified.
50+ SOURCE_UNSPECIFIED = 0 ;
51+
52+ // The source of the schema relationship is BigQuery job history.
53+ BIGQUERY_JOB_HISTORY = 1 ;
54+
55+ // The source of the schema relationship is LLM suggested.
56+ LLM_SUGGESTED = 2 ;
57+
58+ // The source of the schema relationship is BigQuery table constraints.
59+ BIGQUERY_TABLE_CONSTRAINTS = 3 ;
60+ }
61+
62+ // An ordered list of fields for the join from the first table.
63+ // The size of this list must be the same as `right_schema_paths`.
64+ // Each field at index i in this list must correspond to a field at the same
65+ // index in the `right_schema_paths` list.
66+ SchemaPaths left_schema_paths = 1 ;
67+
68+ // An ordered list of fields for the join from the second table.
69+ // The size of this list must be the same as `left_schema_paths`.
70+ // Each field at index i in this list must correspond to a field at the same
71+ // index in the `left_schema_paths` list.
72+ SchemaPaths right_schema_paths = 2 ;
73+
74+ // Sources which generated the schema relation edge.
75+ repeated Source sources = 3 ;
76+
77+ // A confidence score for the suggested relationship.
78+ // Manually added edges have the highest confidence score.
79+ float confidence_score = 4 ;
80+ }
81+
3282 // Optional. The basic entry point for data owners creating domain knowledge
3383 // for Agent.
3484 //
@@ -49,6 +99,15 @@ message Context {
4999 // optionally present. Currently only used for BigQuery data sources.
50100 repeated ExampleQuery example_queries = 5
51101 [(google.api.field_behavior ) = OPTIONAL ];
102+
103+ // Optional. Term definitions (currently, only user authored)
104+ repeated GlossaryTerm glossary_terms = 8
105+ [(google.api.field_behavior ) = OPTIONAL ];
106+
107+ // Optional. Relationships between table schema, including referencing and
108+ // referenced columns.
109+ repeated SchemaRelationship schema_relationships = 9
110+ [(google.api.field_behavior ) = OPTIONAL ];
52111}
53112
54113// Example of relevant and commonly used SQL query and its corresponding natural
@@ -69,6 +128,22 @@ message ExampleQuery {
69128 string natural_language_question = 1 [(google.api.field_behavior ) = OPTIONAL ];
70129}
71130
131+ // Definition of a term within a specific domain.
132+ message GlossaryTerm {
133+ // Required. User friendly display name of the glossary term being defined.
134+ // For example: "CTR", "conversion rate", "pending"
135+ string display_name = 1 [(google.api.field_behavior ) = REQUIRED ];
136+
137+ // Required. The description or meaning of the term.
138+ // For example: "Click-through rate", "The percentage of users who complete a
139+ // desired action", "An order that is waiting to be processed."
140+ string description = 2 [(google.api.field_behavior ) = REQUIRED ];
141+
142+ // Optional. A list of general purpose labels associated to this term.
143+ // For example: ["click rate", "clickthrough", "waiting"]
144+ repeated string labels = 3 [(google.api.field_behavior ) = OPTIONAL ];
145+ }
146+
72147// Options for the conversation.
73148message ConversationOptions {
74149 // Optional. Options for chart generation.
0 commit comments