- JSON representation
- UserMessage
- SystemMessage
- TextMessage
- TextType
- SchemaMessage
- SchemaQuery
- SchemaResult
- Datasource
- DataMessage
- DataQuery
- DataResult
- BigQueryJob
- AnalysisMessage
- AnalysisQuery
- AnalysisEvent
- ChartMessage
- ChartQuery
- ChartResult
- Blob
- ErrorMessage
- ExampleQueries
- ClarificationMessage
- ClarificationQuestion
- SelectionMode
- ClarificationQuestionType
A message from an interaction between the user and the system.
| JSON representation |
|---|
{ "timestamp": string, "messageId": string, // Union field |
| Fields | |
|---|---|
timestamp |
Output only. For user messages, this is the time at which the system received the message. For system messages, this is the time at which the system generated the message. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
messageId |
Optional. unique id of the message in the conversation for persistence. |
Union field kind. The kind of message. kind can be only one of the following: |
|
userMessage |
A message from the user that is interacting with the system. |
systemMessage |
A message from the system in response to the user. |
UserMessage
A message from the user that is interacting with the system.
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. The kind of content in the user message. kind can be only one of the following: |
|
text |
Text should use this field instead of blob. |
SystemMessage
A message from the system in response to the user. This message can also be a message from the user as historical context for multiturn conversations with the system.
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. The kind of content in the system message. kind can be only one of the following: |
|
text |
A direct natural language response to the user message. |
schema |
A message produced during schema resolution. |
data |
A message produced during data retrieval. |
analysis |
A message produced during analysis. |
chart |
A message produced during chart generation. |
error |
An error message. |
exampleQueries |
Optional. A message containing example queries. |
clarification |
Optional. Deprecated: Use TextMessage with TextType.FINAL_RESPONSE instead. A message containing clarification questions. |
groupId |
Identifies the group that the event belongs to. Similar events are deemed to be logically relevant to each other and should be shown together in the UI. |
TextMessage
A multi-part text message.
| JSON representation |
|---|
{
"parts": [
string
],
"textType": enum ( |
| Fields | |
|---|---|
parts[] |
Optional. The parts of the message. |
textType |
Optional. The type of the text message. |
thoughtSignature |
Optional. An opaque signature for a thought so it can be reused in subsequent requests. A base64-encoded string. |
TextType
The type of the text message.
| Enums | |
|---|---|
TEXT_TYPE_UNSPECIFIED |
The default text type. |
FINAL_RESPONSE |
The text is a final response to the user question. |
THOUGHT |
The text is a thought from the model. |
PROGRESS |
The text is an informational message about the agent's progress, such as a tool being invoked. This is distinct from the agent's internal thought process (THOUGHT) and the final answer to the user (FINAL_RESPONSE). These messages provide insight into the agent's actions. |
SchemaMessage
A message produced during schema resolution.
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. Whether this message contains the query or the result of the schema resolution. kind can be only one of the following: |
|
query |
A schema resolution query. |
result |
The result of a schema resolution query. |
SchemaQuery
A query for resolving the schema relevant to the posed question.
| JSON representation |
|---|
{ "question": string } |
| Fields | |
|---|---|
question |
Optional. The question to send to the system for schema resolution. |
SchemaResult
The result of schema resolution.
| JSON representation |
|---|
{
"datasources": [
{
object ( |
| Fields | |
|---|---|
datasources[] |
Optional. The datasources used to resolve the schema query. |
Datasource
A datasource that can be used to answer questions.
| JSON representation |
|---|
{ "schema": { object ( |
| Fields | |
|---|---|
schema |
Optional. The schema of the datasource. |
structSchema |
Optional. A struct representation of the schema. This is populated for datasources with schemas that cannot be fully represented by the strongly-typed For Looker datasources, this maps to the LookmlModelExplore type: https://cloud.google.com/looker/docs/reference/looker-api/latest/types/LookmlModelExplore |
Union field reference. The reference to the datasource. reference can be only one of the following: |
|
bigqueryTableReference |
A reference to a BigQuery table. |
studioDatasourceId |
A reference to a Looker Studio datasource. |
lookerExploreReference |
A reference to a Looker explore. |
alloyDbReference |
A reference to an AlloyDB database. |
spannerReference |
A reference to a Spanner database. |
cloudSqlReference |
A reference to a CloudSQL database. |
DataMessage
A message produced during data retrieval.
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. Whether this message contains the query, the result, or generated SQL for the data retrieval. kind can be only one of the following: |
|
query |
A data retrieval query. |
generatedSql |
SQL generated by the system to retrieve data. |
result |
Retrieved data. |
generatedLookerQuery |
Looker Query generated by the system to retrieve data. Deprecated: generated looker query is now under DataQuery.looker. |
bigQueryJob |
A BigQuery job executed by the system to retrieve data. |
DataQuery
A query for retrieving data.
| JSON representation |
|---|
{ "question": string, "name": string, "datasources": [ { object ( |
| Fields | |
|---|---|
question |
Optional. A natural language question to answer. |
name |
Optional. A snake-case name for the query that reflects its intent. It is used to name the corresponding data result, so that it can be referenced in later steps.
|
datasources[] |
Optional. The datasources available to answer the question. |
Union field query_type. The type of query to execute. query_type can be only one of the following: |
|
looker |
Optional. A query for retrieving data from a Looker explore. |
DataResult
Retrieved data.
| JSON representation |
|---|
{
"name": string,
"schema": {
object ( |
| Fields | |
|---|---|
name |
Optional. A snake-case name for the data result that reflects its contents. The name is used to pass the result around by reference, and serves as a signal about its meaning.
|
schema |
Optional. The schema of the data. |
data[] |
Optional. The content of the data. Each row is a struct that matches the schema. Simple values are represented as strings, while nested structures are represented as lists or structs. |
formattedData[] |
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 |
BigQueryJob
A BigQuery job executed by the system.
| JSON representation |
|---|
{ "projectId": string, "jobId": string, "location": string, "destinationTable": { object ( |
| Fields | |
|---|---|
projectId |
Required. The project that the job belongs to. See JobReference. |
jobId |
Required. The ID of the job. See JobReference. |
location |
Optional. The location of the job. See JobReference. |
destinationTable |
Optional. A reference to the destination table of the job's query results. |
schema |
Optional. The schema of the job's query results. See JobStatistics2. |
AnalysisMessage
A message produced during analysis.
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. Whether this message contains the query or one of the events from the analysis. kind can be only one of the following: |
|
query |
An analysis query. |
progressEvent |
An event indicating the progress of the analysis. |
AnalysisQuery
A query for performing an analysis.
| JSON representation |
|---|
{ "question": string, "dataResultNames": [ string ] } |
| Fields | |
|---|---|
question |
Optional. An analysis question to help answer the user's original question. |
dataResultNames[] |
Optional. The names of previously retrieved data results to analyze. |
AnalysisEvent
An event indicating the progress of an analysis.
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. The kind of event that occurred during the analysis. kind can be only one of the following: |
|
plannerReasoning |
Python codegen planner's reasoning. |
coderInstruction |
Instructions issued for code generation. |
code |
Generated code. |
executionOutput |
Output from code execution. |
executionError |
An error from code execution. |
resultVegaChartJson |
Result as Vega chart JSON string. |
resultNaturalLanguage |
Result as NL string. |
resultCsvData |
Result as CSV string. |
resultReferenceData |
Result as a reference to a data source. |
error |
A generic error message. |
ChartMessage
A message produced during chart generation.
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. Whether this message contains the query or the result of the chart generation. kind can be only one of the following: |
|
query |
A query for generating a chart. |
result |
The result of a chart generation query. |
ChartQuery
A query for generating a chart.
| JSON representation |
|---|
{ "instructions": string, "dataResultName": string } |
| Fields | |
|---|---|
instructions |
Optional. Natural language instructions for generating the chart. |
dataResultName |
Optional. The name of a previously retrieved data result to use in the chart. |
ChartResult
The result of a chart generation query.
| JSON representation |
|---|
{
"vegaConfig": {
object
},
"image": {
object ( |
| Fields | |
|---|---|
vegaConfig |
Optional. A generated Vega chart config. See https://vega.github.io/vega/docs/config/ |
image |
Optional. A rendering of the chart if this was requested in the context. |
Blob
A blob of data with a MIME type.
| JSON representation |
|---|
{ "mimeType": string, "data": string } |
| Fields | |
|---|---|
mimeType |
Required. The IANA standard MIME type of the message data. |
data |
Required. The data represented as bytes. A base64-encoded string. |
ErrorMessage
An error message from a tool call. This message is used to represent an error that occurred while an agent was trying to use a tool. It's important to note that not all errors are terminal. Many are recoverable, and the agent may use the information from this error message to self-correct and retry the tool call or try a different approach.
For example, if a data query fails, the agent might receive an ErrorMessage, analyze it, and then generate a corrected query.
Clients should be cautious about interpreting this message as a definitive failure. It can be part of the agent's normal, iterative process of completing a task. Surfacing these errors directly to end-users without context (e.g., as a "hard failure") may be misleading.
| JSON representation |
|---|
{ "text": string } |
| Fields | |
|---|---|
text |
Output only. The text of the error. |
ExampleQueries
A message containing derived and authored example queries.
| JSON representation |
|---|
{
"exampleQueries": [
{
object ( |
| Fields | |
|---|---|
exampleQueries[] |
Optional. A list of derived and authored example queries, providing examples of relevant and commonly used SQL queries and their corresponding natural language queries optionally present. Currently only used for BigQuery data sources. |
ClarificationMessage
Deprecated: Use TextMessage with TextType.FINAL_RESPONSE instead. A message of questions to help clarify the user's query. This is returned when the system cannot confidently answer the user's question.
| JSON representation |
|---|
{
"questions": [
{
object ( |
| Fields | |
|---|---|
questions[] |
Required. Deprecated: The parent message is deprecated. A batch of clarification questions to ask the user. |
ClarificationQuestion
Deprecated: Use TextMessage with TextType.FINAL_RESPONSE instead. Represents a single question to the user to help clarify their query.
| JSON representation |
|---|
{ "question": string, "selectionMode": enum ( |
| Fields | |
|---|---|
question |
Required. Deprecated: The parent message is deprecated. The natural language question to ask the user. |
selectionMode |
Required. Deprecated: The parent message is deprecated. The selection mode for this question. |
options[] |
Required. Deprecated: The parent message is deprecated. A list of distinct options for the user to choose from. The number of options is limited to a maximum of 5. |
clarificationQuestionType |
Optional. Deprecated: The parent message is deprecated. The type of clarification question. |
SelectionMode
Deprecated: The parent message is deprecated. The selection mode for the clarification question.
| Enums | |
|---|---|
SELECTION_MODE_UNSPECIFIED |
Deprecated: The parent message is deprecated. Unspecified selection mode. |
SINGLE_SELECT |
Deprecated: The parent message is deprecated. The user can select only one option. |
MULTI_SELECT |
Deprecated: The parent message is deprecated. The user can select multiple options. |
ClarificationQuestionType
Deprecated: The parent message is deprecated. The type of clarification question. This enum may be extended with new values in the future.
| Enums | |
|---|---|
CLARIFICATION_QUESTION_TYPE_UNSPECIFIED |
Deprecated: The parent message is deprecated. Unspecified clarification question type. |
FILTER_VALUES |
Deprecated: The parent message is deprecated. The clarification question is for filter values. |
FIELDS |
Deprecated: The parent message is deprecated. The clarification question is for data fields. This is a generic term encompassing SQL columns, Looker fields (dimensions/measures), or nested data structure properties. |