- JSON representation
- UserMessage
- SystemMessage
- TextMessage
- TextType
- SchemaMessage
- SchemaQuery
- SchemaResult
- Datasource
- BigQueryPropertyGraphReference
- DataMessage
- DataQuery
- DataResult
- BigQueryJob
- MatchedQuery
- QueryParameterValues
- AnalysisMessage
- AnalysisQuery
- AnalysisEvent
- ChartMessage
- ChartQuery
- ChartResult
- Blob
- ErrorMessage
- ExampleQueries
- Citation
- CitationSource
- CitationAnchor
- TextMessageCitationAnchor
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 multi-turn conversations with the system.
| JSON representation |
|---|
{ "citation": { object ( |
| Fields | |
|---|---|
citation |
Output only. Citation information for the system message. |
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. |
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. |
FOLLOWUP_QUESTIONS |
The text is a list of follow-up questions suggested. Each item in parts is a follow-up question. |
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. |
bigqueryPropertyGraphReference |
A reference to a BigQuery property graph. |
BigQueryPropertyGraphReference
Message representing a reference to a single BigQuery property graph.
| JSON representation |
|---|
{ "projectId": string, "datasetId": string, "propertyGraphId": string } |
| Fields | |
|---|---|
projectId |
Required. The project that the property graph belongs to. |
datasetId |
Required. The dataset that the property graph belongs to. |
propertyGraphId |
Required. The property graph id. |
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. |
bigQueryJob |
A BigQuery job executed by the system to retrieve data. |
matchedQuery |
A pre-existing query that was matched 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. |
MatchedQuery
A matched query message represents the agent having matched one of the example queries supplied in context as being applicable to the current question. It will also contain additional info during the matching process.
| JSON representation |
|---|
{ "exampleQuery": { object ( |
| Fields | |
|---|---|
exampleQuery |
The query that was matched based on an example query. |
queryParameterValues[] |
The extracted values for the query parameters. |
QueryParameterValues
A query parameter values message represents the values for the query parameters that were extracted from the user question by LLM, based on the example query.
| JSON representation |
|---|
{ "name": string, "value": string } |
| Fields | |
|---|---|
name |
Required. The name of the parameter. |
value |
Required. The value of the parameter. |
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. |
Citation
Source attributions for content.
| JSON representation |
|---|
{ "sources": [ { object ( |
| Fields | |
|---|---|
sources[] |
Output only. List of the sources being cited. |
anchors[] |
Output only. List of the anchors of the citations. |
CitationSource
The source of the citation.
| JSON representation |
|---|
{ "id": string, "title": string, // Union field |
| Fields | |
|---|---|
id |
Output only. Unique identifier of the source. This ID is service-generated and is unique within the scope of a single |
title |
Output only. The title of the source. |
Union field source_type. The source of the citation, which can be one of the supported types. source_type can be only one of the following: |
|
uri |
Output only. The uri used as the source, such as a web grounding URL. |
exampleQuery |
Output only. The example query used as the source. |
glossaryTerm |
Output only. The glossary term used as the source. |
CitationAnchor
The anchor of the citation.
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field anchor_type. The anchor of the citation, which can be one of the supported types. anchor_type can be only one of the following: |
|
textMessageAnchor |
Output only. Only set if the citation is for a TextMessage. |
TextMessageCitationAnchor
Citation anchor within a TextMessage.
| JSON representation |
|---|
{ "partIndex": integer, "startOffsetBytes": integer, "endOffsetBytes": integer, "sourceIds": [ string ] } |
| Fields | |
|---|---|
partIndex |
Output only. The 0-based index of the part within the TextMessage.parts field. |
startOffsetBytes |
Output only. The offset, measured in UTF-8 bytes, within the part string where the citation begins (inclusive). Example: For the text "Hello, world" where "world" is cited, the start offset bytes (inclusive) is 7 and the end offset bytes (exclusive) is 12. |
endOffsetBytes |
Output only. The offset, measured in UTF-8 bytes, within the part string where the citation ends (exclusive). Example: For the text "Hello, world" where "world" is cited, the start offset bytes (inclusive) is 7 and the end offset bytes (exclusive) is 12. |
sourceIds[] |
Output only. The ids of the sources that are cited. |