From 900418b326a0435e6e879e3674c664da61f5d1dd Mon Sep 17 00:00:00 2001
From: Yoshi Automation Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -1108,6 +1109,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -2006,6 +2008,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
diff --git a/docs/dyn/aiplatform_v1.projects.locations.cachedContents.html b/docs/dyn/aiplatform_v1.projects.locations.cachedContents.html
index de34f13690..c1ea0d93a6 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.cachedContents.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.cachedContents.html
@@ -303,6 +303,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -713,6 +714,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -1148,6 +1150,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -1569,6 +1572,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -1998,6 +2002,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -2409,6 +2414,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
diff --git a/docs/dyn/aiplatform_v1.projects.locations.endpoints.html b/docs/dyn/aiplatform_v1.projects.locations.endpoints.html
index 2da2d37461..5af24c86cf 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.endpoints.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.endpoints.html
@@ -592,6 +592,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -2072,6 +2073,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -4452,6 +4454,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
diff --git a/docs/dyn/aiplatform_v1.projects.locations.evaluationRuns.html b/docs/dyn/aiplatform_v1.projects.locations.evaluationRuns.html
index acceda983a..0a7f2c478e 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.evaluationRuns.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.evaluationRuns.html
@@ -287,7 +287,7 @@ Method Details
"displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field.
},
],
- "metrics": [ # Required. The metrics to be calculated in the evaluation run.
+ "metrics": [ # Optional. The metrics to be calculated in the evaluation run. Required when analysis_configs is not set.
{ # The metric used for evaluation runs.
"computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric.
"parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}.
@@ -1718,7 +1718,7 @@ Method Details
"displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field.
},
],
- "metrics": [ # Required. The metrics to be calculated in the evaluation run.
+ "metrics": [ # Optional. The metrics to be calculated in the evaluation run. Required when analysis_configs is not set.
{ # The metric used for evaluation runs.
"computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric.
"parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}.
@@ -3191,7 +3191,7 @@ Method Details
"displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field.
},
],
- "metrics": [ # Required. The metrics to be calculated in the evaluation run.
+ "metrics": [ # Optional. The metrics to be calculated in the evaluation run. Required when analysis_configs is not set.
{ # The metric used for evaluation runs.
"computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric.
"parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}.
@@ -4635,7 +4635,7 @@ Method Details
"displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field.
},
],
- "metrics": [ # Required. The metrics to be calculated in the evaluation run.
+ "metrics": [ # Optional. The metrics to be calculated in the evaluation run. Required when analysis_configs is not set.
{ # The metric used for evaluation runs.
"computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric.
"parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}.
diff --git a/docs/dyn/aiplatform_v1.projects.locations.html b/docs/dyn/aiplatform_v1.projects.locations.html
index 80f1226e56..1f15326b01 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.html
@@ -360,6 +360,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -637,6 +638,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -2260,6 +2262,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -2569,6 +2572,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -2949,6 +2953,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -3171,6 +3176,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -5328,6 +5334,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
diff --git a/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html b/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html
index 0d4883fc90..b5e97ef962 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html
@@ -531,6 +531,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -1264,6 +1265,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -2390,6 +2392,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
diff --git a/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.html b/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.html
index b818918077..bc1ebee54a 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.html
@@ -113,7 +113,7 @@ Instance Methods
asyncQuery(name, body=None, x__xgafv=None)
Async query using a reasoning engine.
- cancelAsyncQuery(name, operationName=None, x__xgafv=None)
cancelAsyncQuery(name, body=None, x__xgafv=None)
Cancels an AsyncQueryReasoningEngine operation.
@@ -165,8 +165,8 @@cancelAsyncQuery(name, operationName=None, x__xgafv=None)
+ cancelAsyncQuery(name, body=None, x__xgafv=None)
Cancels an AsyncQueryReasoningEngine operation.
Args:
name: string, Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}` (required)
- operationName: string, Required. The name of the longrunning operation returned from AsyncQueryReasoningEngine. Format: `projects/{project}/locations/{location}/operations/{operation}`
+ body: object, The request body.
+ The object takes the form of:
+
+{ # Request message for ReasoningEngineExecutionService.CancelAsyncQueryReasoningEngine.
+ "operationName": "A String", # Required. The name of the longrunning operation returned from AsyncQueryReasoningEngine. Format: `projects/{project}/locations/{location}/operations/{operation}`
+}
+
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
diff --git a/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.sandboxEnvironments.html b/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.sandboxEnvironments.html
index ded0930abe..982976fb85 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.sandboxEnvironments.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.sandboxEnvironments.html
@@ -132,7 +132,7 @@ Method Details
"name": "A String", # Identifier. The name of the SandboxEnvironment.
"owner": "A String", # Optional. Owner information for this sandbox environment. A Sandbox can only be restored from a snapshot that belongs to the same owner. If not set, sandbox will be created as the default owner.
"sandboxEnvironmentSnapshot": "A String", # Optional. The resource name of the SandboxEnvironmentSnapshot to use for creating this SandboxEnvironment. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`
- "sandboxEnvironmentTemplate": "A String", # Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from. Only one of `sandbox_environment_template` and `spec` should be set.
+ "sandboxEnvironmentTemplate": "A String", # Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from.
"spec": { # The specification of a SandboxEnvironment. # Optional. The configuration of the SandboxEnvironment.
"codeExecutionEnvironment": { # The code execution environment with customized settings. # Optional. The code execution environment.
"codeLanguage": "A String", # The coding language supported in this environment.
@@ -282,7 +282,7 @@ Method Details
"name": "A String", # Identifier. The name of the SandboxEnvironment.
"owner": "A String", # Optional. Owner information for this sandbox environment. A Sandbox can only be restored from a snapshot that belongs to the same owner. If not set, sandbox will be created as the default owner.
"sandboxEnvironmentSnapshot": "A String", # Optional. The resource name of the SandboxEnvironmentSnapshot to use for creating this SandboxEnvironment. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`
- "sandboxEnvironmentTemplate": "A String", # Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from. Only one of `sandbox_environment_template` and `spec` should be set.
+ "sandboxEnvironmentTemplate": "A String", # Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from.
"spec": { # The specification of a SandboxEnvironment. # Optional. The configuration of the SandboxEnvironment.
"codeExecutionEnvironment": { # The code execution environment with customized settings. # Optional. The code execution environment.
"codeLanguage": "A String", # The coding language supported in this environment.
@@ -329,7 +329,7 @@ Method Details
"name": "A String", # Identifier. The name of the SandboxEnvironment.
"owner": "A String", # Optional. Owner information for this sandbox environment. A Sandbox can only be restored from a snapshot that belongs to the same owner. If not set, sandbox will be created as the default owner.
"sandboxEnvironmentSnapshot": "A String", # Optional. The resource name of the SandboxEnvironmentSnapshot to use for creating this SandboxEnvironment. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`
- "sandboxEnvironmentTemplate": "A String", # Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from. Only one of `sandbox_environment_template` and `spec` should be set.
+ "sandboxEnvironmentTemplate": "A String", # Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from.
"spec": { # The specification of a SandboxEnvironment. # Optional. The configuration of the SandboxEnvironment.
"codeExecutionEnvironment": { # The code execution environment with customized settings. # Optional. The code execution environment.
"codeLanguage": "A String", # The coding language supported in this environment.
diff --git a/docs/dyn/aiplatform_v1.publishers.models.html b/docs/dyn/aiplatform_v1.publishers.models.html
index 08fae42e64..9a358c7eb9 100644
--- a/docs/dyn/aiplatform_v1.publishers.models.html
+++ b/docs/dyn/aiplatform_v1.publishers.models.html
@@ -517,6 +517,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -1101,6 +1102,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -2574,6 +2576,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
diff --git a/docs/dyn/aiplatform_v1.reasoningEngines.html b/docs/dyn/aiplatform_v1.reasoningEngines.html
index be4cc21f58..95e188b384 100644
--- a/docs/dyn/aiplatform_v1.reasoningEngines.html
+++ b/docs/dyn/aiplatform_v1.reasoningEngines.html
@@ -113,7 +113,7 @@ Instance Methods
asyncQuery(name, body=None, x__xgafv=None)
Async query using a reasoning engine.
- cancelAsyncQuery(name, operationName=None, x__xgafv=None)
+ cancelAsyncQuery(name, body=None, x__xgafv=None)
Cancels an AsyncQueryReasoningEngine operation.
@@ -156,8 +156,8 @@ Method Details
The object takes the form of:
{ # Request message for ReasoningEngineExecutionService.AsyncQueryReasoningEngine.
- "inputGcsUri": "A String", # Optional. Input Cloud Storage URI for the Async query.
- "outputGcsUri": "A String", # Optional. Output Cloud Storage URI for the Async query.
+ "inputGcsUri": "A String", # Optional. Input Cloud Storage URI for the Async query. If you are not bringing your own container (BYOC), the content of the file should be a JSON object with an `input` field matching the `input` field of `QueryReasoningEngineRequest` (e.g. `{ "input": { "user_id": "hello", "message":"$QUERY"} }`). For BYOC, the content of the file depends on the the agent application.
+ "outputGcsUri": "A String", # Optional. Output Cloud Storage URI for the Async query. This contains the final response of the query.
}
x__xgafv: string, V1 error format.
@@ -190,12 +190,18 @@ Method Details
cancelAsyncQuery(name, operationName=None, x__xgafv=None)
+ cancelAsyncQuery(name, body=None, x__xgafv=None)
Cancels an AsyncQueryReasoningEngine operation.
Args:
name: string, Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}` (required)
- operationName: string, Required. The name of the longrunning operation returned from AsyncQueryReasoningEngine. Format: `projects/{project}/locations/{location}/operations/{operation}`
+ body: object, The request body.
+ The object takes the form of:
+
+{ # Request message for ReasoningEngineExecutionService.CancelAsyncQueryReasoningEngine.
+ "operationName": "A String", # Required. The name of the longrunning operation returned from AsyncQueryReasoningEngine. Format: `projects/{project}/locations/{location}/operations/{operation}`
+}
+
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
diff --git a/docs/dyn/aiplatform_v1.reasoningEngines.sandboxEnvironments.html b/docs/dyn/aiplatform_v1.reasoningEngines.sandboxEnvironments.html
index ec76cfa75f..607c1345ac 100644
--- a/docs/dyn/aiplatform_v1.reasoningEngines.sandboxEnvironments.html
+++ b/docs/dyn/aiplatform_v1.reasoningEngines.sandboxEnvironments.html
@@ -132,7 +132,7 @@ Method Details
"name": "A String", # Identifier. The name of the SandboxEnvironment.
"owner": "A String", # Optional. Owner information for this sandbox environment. A Sandbox can only be restored from a snapshot that belongs to the same owner. If not set, sandbox will be created as the default owner.
"sandboxEnvironmentSnapshot": "A String", # Optional. The resource name of the SandboxEnvironmentSnapshot to use for creating this SandboxEnvironment. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`
- "sandboxEnvironmentTemplate": "A String", # Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from. Only one of `sandbox_environment_template` and `spec` should be set.
+ "sandboxEnvironmentTemplate": "A String", # Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from.
"spec": { # The specification of a SandboxEnvironment. # Optional. The configuration of the SandboxEnvironment.
"codeExecutionEnvironment": { # The code execution environment with customized settings. # Optional. The code execution environment.
"codeLanguage": "A String", # The coding language supported in this environment.
@@ -282,7 +282,7 @@ Method Details
"name": "A String", # Identifier. The name of the SandboxEnvironment.
"owner": "A String", # Optional. Owner information for this sandbox environment. A Sandbox can only be restored from a snapshot that belongs to the same owner. If not set, sandbox will be created as the default owner.
"sandboxEnvironmentSnapshot": "A String", # Optional. The resource name of the SandboxEnvironmentSnapshot to use for creating this SandboxEnvironment. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`
- "sandboxEnvironmentTemplate": "A String", # Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from. Only one of `sandbox_environment_template` and `spec` should be set.
+ "sandboxEnvironmentTemplate": "A String", # Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from.
"spec": { # The specification of a SandboxEnvironment. # Optional. The configuration of the SandboxEnvironment.
"codeExecutionEnvironment": { # The code execution environment with customized settings. # Optional. The code execution environment.
"codeLanguage": "A String", # The coding language supported in this environment.
@@ -329,7 +329,7 @@ Method Details
"name": "A String", # Identifier. The name of the SandboxEnvironment.
"owner": "A String", # Optional. Owner information for this sandbox environment. A Sandbox can only be restored from a snapshot that belongs to the same owner. If not set, sandbox will be created as the default owner.
"sandboxEnvironmentSnapshot": "A String", # Optional. The resource name of the SandboxEnvironmentSnapshot to use for creating this SandboxEnvironment. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`
- "sandboxEnvironmentTemplate": "A String", # Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from. Only one of `sandbox_environment_template` and `spec` should be set.
+ "sandboxEnvironmentTemplate": "A String", # Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from.
"spec": { # The specification of a SandboxEnvironment. # Optional. The configuration of the SandboxEnvironment.
"codeExecutionEnvironment": { # The code execution environment with customized settings. # Optional. The code execution environment.
"codeLanguage": "A String", # The coding language supported in this environment.
diff --git a/docs/dyn/aiplatform_v1.v1.html b/docs/dyn/aiplatform_v1.v1.html
index ae1729bef7..c49956c1b0 100644
--- a/docs/dyn/aiplatform_v1.v1.html
+++ b/docs/dyn/aiplatform_v1.v1.html
@@ -891,6 +891,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -1200,6 +1201,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -1580,6 +1582,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -1802,6 +1805,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -3958,6 +3962,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
diff --git a/docs/dyn/aiplatform_v1beta1.endpoints.html b/docs/dyn/aiplatform_v1beta1.endpoints.html
index 8aca811e09..1142b2ef46 100644
--- a/docs/dyn/aiplatform_v1beta1.endpoints.html
+++ b/docs/dyn/aiplatform_v1beta1.endpoints.html
@@ -533,6 +533,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -1131,6 +1132,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
@@ -2050,6 +2052,7 @@ Method Details
},
"functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.
{ # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.
+ "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method.
"description": "A String", # Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
"name": "A String", # Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots, colons and dashes, with a maximum length of 128.
"parameters": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1
diff --git a/docs/dyn/aiplatform_v1beta1.html b/docs/dyn/aiplatform_v1beta1.html
index d81071bf9b..8b9d912064 100644
--- a/docs/dyn/aiplatform_v1beta1.html
+++ b/docs/dyn/aiplatform_v1beta1.html
@@ -189,6 +189,11 @@ Instance Methods
Returns the indexes Resource.
+
+ interactions()
+
+Returns the interactions Resource.
+
@@ -294,6 +299,11 @@ Instance Methods
Returns the semanticGovernancePolicyEngine Resource.
+
+Returns the servingProfiles Resource.
+
diff --git a/docs/dyn/aiplatform_v1beta1.interactions.html b/docs/dyn/aiplatform_v1beta1.interactions.html
new file mode 100644
index 0000000000..d35744131e
--- /dev/null
+++ b/docs/dyn/aiplatform_v1beta1.interactions.html
@@ -0,0 +1,30484 @@
+
+
+
+Agent Platform API . interactions
+Instance Methods
+
+Cancels an interaction.
+
+ close()
+Close httplib2 connections.
+
+Deletes an interaction.
+
+ getPoll(name, include_input=None, last_event_id=None, stream=None, x__xgafv=None)
+Fully typed proto, unary version of GetInteraction that returns Interaction proto.
+
+ getStream(name, include_input=None, last_event_id=None, stream=None, x__xgafv=None)
+Fully typed proto, streaming version of GetInteraction that returns Interaction proto.
+Method Details
+
+ cancel(name, x__xgafv=None)
+ Cancels an interaction.
+
+Args:
+ name: string, Required. The name of the interaction to cancel. Format: `interactions/{interaction}`. (required)
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # Response for InteractionService.CreateInteraction.
+ "agentInteraction": { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
+ "agent": "A String", # The name of the `Agent` used for generating the completion.
+ "deep_research_config": { # Configuration for the Deep Research agent.
+ "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
+ "thinking_summaries": "A String", # Whether to include thought summaries in the response.
+ "visualization": "A String", # Whether to include visualizations in the response.
+ },
+ "dynamic_config": { # Configuration for dynamic agents.
+ "config": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # For agents that are not supported statically in the API definition.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ },
+ "content": { # The content of the response. # The content for the interaction.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ "contentList": { # A list of Content. # The inputs for the interaction.
+ "contents": [ # The contents of the list.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
+ "id": "A String", # Required. Output only. A unique identifier for the interaction completion.
+ "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models.
+ "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction.
+ "image_config": { # The configuration for image interaction. # Configuration for image interaction.
+ "aspect_ratio": "A String", # The aspect ratio of the image to generate. Supported aspect ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9. If not specified, the model will choose a default aspect ratio based on any reference images provided.
+ "image_size": "A String", # Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+ },
+ "max_output_tokens": 42, # The maximum number of tokens to include in the response.
+ "seed": 42, # Seed used in decoding for reproducibility.
+ "speech_config": [ # Configuration for speech interaction.
+ { # The configuration for speech interaction.
+ "language": "A String", # The language of the speech.
+ "speaker": "A String", # The speaker's name, it should match the speaker name given in the prompt.
+ "voice": "A String", # The voice of the speaker.
+ },
+ ],
+ "stop_sequences": [ # A list of character sequences that will stop output interaction.
+ "A String",
+ ],
+ "temperature": 3.14, # Controls the randomness of the output.
+ "thinking_level": "A String", # The level of thought tokens that the model should generate.
+ "thinking_summaries": "A String", # Whether to include thought summaries in the response.
+ "toolChoiceConfig": { # The tool choice configuration containing allowed tools. # The config for the tool choice.
+ "allowed_tools": { # The configuration for allowed tools. # The allowed tools.
+ "mode": "A String", # The mode of the tool choice.
+ "tools": [ # The names of the allowed tools.
+ "A String",
+ ],
+ },
+ },
+ "toolChoiceMode": "A String", # The mode of the tool choice.
+ "top_p": 3.14, # The maximum cumulative probability of tokens to consider when sampling.
+ },
+ "model": "A String", # The name of the `Model` used for generating the completion.
+ },
+ "outputs": [ # Output only. Responses from the model.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ "previous_interaction_id": "A String", # The ID of the previous interaction, if any.
+ "responseFormatList": {
+ "response_formats": [
+ {
+ "audio": { # Configuration for audio output format.
+ "bit_rate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+ "delivery": "A String", # The delivery mode for the audio output.
+ "mime_type": "A String", # The MIME type of the audio output.
+ "sample_rate": 42, # Sample rate in Hz.
+ },
+ "image": { # Configuration for image output format.
+ "aspect_ratio": "A String", # The aspect ratio for the image output.
+ "delivery": "A String", # The delivery mode for the image output.
+ "image_size": "A String", # The size of the image output.
+ "mime_type": "A String", # The MIME type of the image output.
+ },
+ "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "text": { # Configuration for text output format.
+ "mime_type": "A String", # The MIME type of the text output.
+ "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "video": { # Configuration for video output format.
+ },
+ },
+ ],
+ },
+ "responseFormatSingleton": {
+ "audio": { # Configuration for audio output format.
+ "bit_rate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+ "delivery": "A String", # The delivery mode for the audio output.
+ "mime_type": "A String", # The MIME type of the audio output.
+ "sample_rate": 42, # Sample rate in Hz.
+ },
+ "image": { # Configuration for image output format.
+ "aspect_ratio": "A String", # The aspect ratio for the image output.
+ "delivery": "A String", # The delivery mode for the image output.
+ "image_size": "A String", # The size of the image output.
+ "mime_type": "A String", # The MIME type of the image output.
+ },
+ "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "text": { # Configuration for text output format.
+ "mime_type": "A String", # The MIME type of the text output.
+ "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "video": { # Configuration for video output format.
+ },
+ },
+ "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ "response_mime_type": "A String", # The mime type of the response. This is required if response_format is set.
+ "response_modalities": [ # The requested modalities of the response (TEXT, IMAGE, AUDIO).
+ "A String",
+ ],
+ "role": "A String", # Output only. The role of the interaction.
+ "status": "A String", # Required. Output only. The status of the interaction.
+ "stepList": { # A list of Steps. # Input only. The steps for the interaction.
+ "steps": [ # The steps of the list.
+ { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ "steps": [ # Output only. The steps that make up the interaction.
+ { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ ],
+ "stringContent": "A String", # A string input for the interaction, it will be processed as a single text input.
+ "system_instruction": "A String", # System instruction for the interaction.
+ "tools": [ # A list of tool declarations the model may call during interaction.
+ { # A tool that can be used by the model.
+ "codeExecution": { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
+ },
+ "computerUse": { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+ "environment": "A String", # The environment being operated.
+ "excluded_predefined_functions": [ # The list of predefined functions that are excluded from the model call.
+ "A String",
+ ],
+ },
+ "fileSearch": { # A tool that can be used by the model to search files. # A tool that can be used by the model to search files.
+ "file_search_store_names": [ # The file search store names to search.
+ "A String",
+ ],
+ "metadata_filter": "A String", # Metadata filter to apply to the semantic retrieval documents and chunks.
+ "top_k": 42, # The number of semantic retrieval chunks to retrieve.
+ },
+ "function": { # A tool that can be used by the model. # A function that can be used by the model.
+ "description": "A String", # A description of the function.
+ "name": "A String", # The name of the function.
+ "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ "googleMaps": { # A tool that can be used by the model to call Google Maps. # A tool that can be used by the model to search Google Maps.
+ "enable_widget": True or False, # Whether to return a widget context token in the tool call result of the response.
+ "latitude": 3.14, # The latitude of the user's location.
+ "longitude": 3.14, # The longitude of the user's location.
+ },
+ "googleSearch": { # A tool that can be used by the model to search Google. # A tool that can be used by the model to search Google.
+ "search_types": [ # The types of search grounding to enable.
+ "A String",
+ ],
+ },
+ "mcpServer": { # A MCPServer is a server that can be called by the model to perform actions. # A MCPServer is a server that can be called by the model to perform actions.
+ "allowed_tools": [ # The allowed tools.
+ { # The configuration for allowed tools.
+ "mode": "A String", # The mode of the tool choice.
+ "tools": [ # The names of the allowed tools.
+ "A String",
+ ],
+ },
+ ],
+ "headers": { # Optional: Fields for authentication headers, timeouts, etc., if needed.
+ "a_key": "A String",
+ },
+ "name": "A String", # The name of the MCPServer.
+ "url": "A String", # The full URL for the MCPServer endpoint. Example: "https://api.example.com/mcp"
+ },
+ "retrieval": { # A tool that can be used by the model to retrieve files. # A tool that can be used by the model to retrieve files.
+ "retrieval_types": [ # The types of file retrieval to enable.
+ "A String",
+ ],
+ "vertex_ai_search_config": { # Used to specify configuration for VertexAISearch. # Used to specify configuration for VertexAISearch.
+ "datastores": [ # Optional. Used to specify Vertex AI Search datastores.
+ "A String",
+ ],
+ "engine": "A String", # Optional. Used to specify Vertex AI Search engine.
+ },
+ },
+ "urlContext": { # A tool that can be used by the model to fetch URL context. # A tool that can be used by the model to fetch URL context.
+ },
+ },
+ ],
+ "turnList": { # A list of Turns. # The turns for the interaction.
+ "turns": [
+ {
+ "contentList": { # A list of Content. # The content of the turn. An array of Content objects.
+ "contents": [ # The contents of the list.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "contentString": "A String", # The content of the turn. A single string.
+ "role": "A String", # The originator of this turn. Must be user for input or model for model output.
+ },
+ ],
+ },
+ "updated": "A String", # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
+ "usage": { # Statistics on the interaction request's token usage. # Output only. Statistics on the interaction request's token usage.
+ "cached_tokens_by_modality": [ # A breakdown of cached token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "grounding_tool_count": [ # Grounding tool count.
+ { # The number of grounding tool counts.
+ "count": 42, # The number of grounding tool counts.
+ "type": "A String", # The grounding tool type associated with the count.
+ },
+ ],
+ "input_tokens_by_modality": [ # A breakdown of input token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "output_tokens_by_modality": [ # A breakdown of output token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "tool_use_tokens_by_modality": [ # A breakdown of tool-use token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "total_cached_tokens": 42, # Number of tokens in the cached part of the prompt (the cached content).
+ "total_input_tokens": 42, # Number of tokens in the prompt (context).
+ "total_output_tokens": 42, # Total number of tokens across all the generated responses.
+ "total_thought_tokens": 42, # Number of tokens of thoughts for thinking models.
+ "total_tokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
+ "total_tool_use_tokens": 42, # Number of tokens present in tool-use prompt(s).
+ },
+}
+
+
+
+ close()
+ Close httplib2 connections.
+
+
+
+ delete(name, x__xgafv=None)
+ Deletes an interaction.
+
+Args:
+ name: string, Required. The name of the interaction to delete. Format: interactions/{interaction} (required)
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.
+ "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
+ "data": "A String", # The HTTP request/response body as raw binary.
+ "extensions": [ # Application specific response metadata. Must be set in the first response for streaming APIs.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+}
+
+
+
+ getPoll(name, include_input=None, last_event_id=None, stream=None, x__xgafv=None)
+ Fully typed proto, unary version of GetInteraction that returns Interaction proto.
+
+Args:
+ name: string, Required. The name of the interaction to retrieve. Format: interactions/{interaction} (required)
+ include_input: boolean, Optional. If true, includes the input in the response.
+ last_event_id: string, Optional. If set, resumes the interaction stream from the chunk after the event marked by the event id. Can only be used if `stream` is true.
+ stream: boolean, Optional. If true, streams the interaction events as Server-Sent Events.
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # Response for InteractionService.CreateInteraction.
+ "agentInteraction": { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
+ "agent": "A String", # The name of the `Agent` used for generating the completion.
+ "deep_research_config": { # Configuration for the Deep Research agent.
+ "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
+ "thinking_summaries": "A String", # Whether to include thought summaries in the response.
+ "visualization": "A String", # Whether to include visualizations in the response.
+ },
+ "dynamic_config": { # Configuration for dynamic agents.
+ "config": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # For agents that are not supported statically in the API definition.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ },
+ "content": { # The content of the response. # The content for the interaction.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ "contentList": { # A list of Content. # The inputs for the interaction.
+ "contents": [ # The contents of the list.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
+ "id": "A String", # Required. Output only. A unique identifier for the interaction completion.
+ "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models.
+ "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction.
+ "image_config": { # The configuration for image interaction. # Configuration for image interaction.
+ "aspect_ratio": "A String", # The aspect ratio of the image to generate. Supported aspect ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9. If not specified, the model will choose a default aspect ratio based on any reference images provided.
+ "image_size": "A String", # Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+ },
+ "max_output_tokens": 42, # The maximum number of tokens to include in the response.
+ "seed": 42, # Seed used in decoding for reproducibility.
+ "speech_config": [ # Configuration for speech interaction.
+ { # The configuration for speech interaction.
+ "language": "A String", # The language of the speech.
+ "speaker": "A String", # The speaker's name, it should match the speaker name given in the prompt.
+ "voice": "A String", # The voice of the speaker.
+ },
+ ],
+ "stop_sequences": [ # A list of character sequences that will stop output interaction.
+ "A String",
+ ],
+ "temperature": 3.14, # Controls the randomness of the output.
+ "thinking_level": "A String", # The level of thought tokens that the model should generate.
+ "thinking_summaries": "A String", # Whether to include thought summaries in the response.
+ "toolChoiceConfig": { # The tool choice configuration containing allowed tools. # The config for the tool choice.
+ "allowed_tools": { # The configuration for allowed tools. # The allowed tools.
+ "mode": "A String", # The mode of the tool choice.
+ "tools": [ # The names of the allowed tools.
+ "A String",
+ ],
+ },
+ },
+ "toolChoiceMode": "A String", # The mode of the tool choice.
+ "top_p": 3.14, # The maximum cumulative probability of tokens to consider when sampling.
+ },
+ "model": "A String", # The name of the `Model` used for generating the completion.
+ },
+ "outputs": [ # Output only. Responses from the model.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ "previous_interaction_id": "A String", # The ID of the previous interaction, if any.
+ "responseFormatList": {
+ "response_formats": [
+ {
+ "audio": { # Configuration for audio output format.
+ "bit_rate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+ "delivery": "A String", # The delivery mode for the audio output.
+ "mime_type": "A String", # The MIME type of the audio output.
+ "sample_rate": 42, # Sample rate in Hz.
+ },
+ "image": { # Configuration for image output format.
+ "aspect_ratio": "A String", # The aspect ratio for the image output.
+ "delivery": "A String", # The delivery mode for the image output.
+ "image_size": "A String", # The size of the image output.
+ "mime_type": "A String", # The MIME type of the image output.
+ },
+ "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "text": { # Configuration for text output format.
+ "mime_type": "A String", # The MIME type of the text output.
+ "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "video": { # Configuration for video output format.
+ },
+ },
+ ],
+ },
+ "responseFormatSingleton": {
+ "audio": { # Configuration for audio output format.
+ "bit_rate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+ "delivery": "A String", # The delivery mode for the audio output.
+ "mime_type": "A String", # The MIME type of the audio output.
+ "sample_rate": 42, # Sample rate in Hz.
+ },
+ "image": { # Configuration for image output format.
+ "aspect_ratio": "A String", # The aspect ratio for the image output.
+ "delivery": "A String", # The delivery mode for the image output.
+ "image_size": "A String", # The size of the image output.
+ "mime_type": "A String", # The MIME type of the image output.
+ },
+ "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "text": { # Configuration for text output format.
+ "mime_type": "A String", # The MIME type of the text output.
+ "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "video": { # Configuration for video output format.
+ },
+ },
+ "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ "response_mime_type": "A String", # The mime type of the response. This is required if response_format is set.
+ "response_modalities": [ # The requested modalities of the response (TEXT, IMAGE, AUDIO).
+ "A String",
+ ],
+ "role": "A String", # Output only. The role of the interaction.
+ "status": "A String", # Required. Output only. The status of the interaction.
+ "stepList": { # A list of Steps. # Input only. The steps for the interaction.
+ "steps": [ # The steps of the list.
+ { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ "steps": [ # Output only. The steps that make up the interaction.
+ { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ ],
+ "stringContent": "A String", # A string input for the interaction, it will be processed as a single text input.
+ "system_instruction": "A String", # System instruction for the interaction.
+ "tools": [ # A list of tool declarations the model may call during interaction.
+ { # A tool that can be used by the model.
+ "codeExecution": { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
+ },
+ "computerUse": { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+ "environment": "A String", # The environment being operated.
+ "excluded_predefined_functions": [ # The list of predefined functions that are excluded from the model call.
+ "A String",
+ ],
+ },
+ "fileSearch": { # A tool that can be used by the model to search files. # A tool that can be used by the model to search files.
+ "file_search_store_names": [ # The file search store names to search.
+ "A String",
+ ],
+ "metadata_filter": "A String", # Metadata filter to apply to the semantic retrieval documents and chunks.
+ "top_k": 42, # The number of semantic retrieval chunks to retrieve.
+ },
+ "function": { # A tool that can be used by the model. # A function that can be used by the model.
+ "description": "A String", # A description of the function.
+ "name": "A String", # The name of the function.
+ "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ "googleMaps": { # A tool that can be used by the model to call Google Maps. # A tool that can be used by the model to search Google Maps.
+ "enable_widget": True or False, # Whether to return a widget context token in the tool call result of the response.
+ "latitude": 3.14, # The latitude of the user's location.
+ "longitude": 3.14, # The longitude of the user's location.
+ },
+ "googleSearch": { # A tool that can be used by the model to search Google. # A tool that can be used by the model to search Google.
+ "search_types": [ # The types of search grounding to enable.
+ "A String",
+ ],
+ },
+ "mcpServer": { # A MCPServer is a server that can be called by the model to perform actions. # A MCPServer is a server that can be called by the model to perform actions.
+ "allowed_tools": [ # The allowed tools.
+ { # The configuration for allowed tools.
+ "mode": "A String", # The mode of the tool choice.
+ "tools": [ # The names of the allowed tools.
+ "A String",
+ ],
+ },
+ ],
+ "headers": { # Optional: Fields for authentication headers, timeouts, etc., if needed.
+ "a_key": "A String",
+ },
+ "name": "A String", # The name of the MCPServer.
+ "url": "A String", # The full URL for the MCPServer endpoint. Example: "https://api.example.com/mcp"
+ },
+ "retrieval": { # A tool that can be used by the model to retrieve files. # A tool that can be used by the model to retrieve files.
+ "retrieval_types": [ # The types of file retrieval to enable.
+ "A String",
+ ],
+ "vertex_ai_search_config": { # Used to specify configuration for VertexAISearch. # Used to specify configuration for VertexAISearch.
+ "datastores": [ # Optional. Used to specify Vertex AI Search datastores.
+ "A String",
+ ],
+ "engine": "A String", # Optional. Used to specify Vertex AI Search engine.
+ },
+ },
+ "urlContext": { # A tool that can be used by the model to fetch URL context. # A tool that can be used by the model to fetch URL context.
+ },
+ },
+ ],
+ "turnList": { # A list of Turns. # The turns for the interaction.
+ "turns": [
+ {
+ "contentList": { # A list of Content. # The content of the turn. An array of Content objects.
+ "contents": [ # The contents of the list.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "contentString": "A String", # The content of the turn. A single string.
+ "role": "A String", # The originator of this turn. Must be user for input or model for model output.
+ },
+ ],
+ },
+ "updated": "A String", # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
+ "usage": { # Statistics on the interaction request's token usage. # Output only. Statistics on the interaction request's token usage.
+ "cached_tokens_by_modality": [ # A breakdown of cached token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "grounding_tool_count": [ # Grounding tool count.
+ { # The number of grounding tool counts.
+ "count": 42, # The number of grounding tool counts.
+ "type": "A String", # The grounding tool type associated with the count.
+ },
+ ],
+ "input_tokens_by_modality": [ # A breakdown of input token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "output_tokens_by_modality": [ # A breakdown of output token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "tool_use_tokens_by_modality": [ # A breakdown of tool-use token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "total_cached_tokens": 42, # Number of tokens in the cached part of the prompt (the cached content).
+ "total_input_tokens": 42, # Number of tokens in the prompt (context).
+ "total_output_tokens": 42, # Total number of tokens across all the generated responses.
+ "total_thought_tokens": 42, # Number of tokens of thoughts for thinking models.
+ "total_tokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
+ "total_tool_use_tokens": 42, # Number of tokens present in tool-use prompt(s).
+ },
+}
+
+
+
+ getStream(name, include_input=None, last_event_id=None, stream=None, x__xgafv=None)
+ Fully typed proto, streaming version of GetInteraction that returns Interaction proto.
+
+Args:
+ name: string, Required. The name of the interaction to retrieve. Format: interactions/{interaction} (required)
+ include_input: boolean, Optional. If true, includes the input in the response.
+ last_event_id: string, Optional. If set, resumes the interaction stream from the chunk after the event marked by the event id. Can only be used if `stream` is true.
+ stream: boolean, Optional. If true, streams the interaction events as Server-Sent Events.
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ {
+ "contentDelta": { # The content block delta data, used for content.delta events.
+ "delta": { # The delta content data for a content block.
+ "audio": {
+ "channels": 42, # The number of audio channels.
+ "data": "A String",
+ "mime_type": "A String",
+ "rate": 42, # Deprecated. Use sample_rate instead. The value is ignored.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String",
+ },
+ "document": {
+ "data": "A String",
+ "mime_type": "A String",
+ "uri": "A String",
+ },
+ "image": {
+ "data": "A String",
+ "mime_type": "A String",
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String",
+ },
+ "text": {
+ "text": "A String",
+ },
+ "textAnnotation": {
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ },
+ "thoughtSignature": {
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ },
+ "thoughtSummary": {
+ "content": { # A new summary item to be added to the thought.
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ },
+ "toolCall": {
+ "codeExecutionCall": {
+ "arguments": { # The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": {
+ },
+ "functionCall": {
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String",
+ },
+ "googleMapsCall": {
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": {
+ "arguments": { # The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": {
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String",
+ "server_name": "A String",
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": {
+ "arguments": { # The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": {
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": {
+ "is_error": True or False,
+ "result": "A String",
+ },
+ "fileSearchResult": {
+ "result": [
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": {
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False,
+ "name": "A String",
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": {
+ "result": [ # The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": {
+ "is_error": True or False,
+ "result": [
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": {
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String",
+ "server_name": "A String",
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": {
+ "is_error": True or False,
+ "result": [
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": {
+ "data": "A String",
+ "mime_type": "A String",
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String",
+ },
+ },
+ "index": 42,
+ },
+ "contentStart": { # The content block start data, used for content.start events.
+ "content": { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ "index": 42,
+ },
+ "contentStop": { # The content block stop data, used for content.stop events.
+ "index": 42,
+ },
+ "errorEvent": { # The error event data, used for error events.
+ "error": { # Error message from an interaction.
+ "code": "A String", # A URI that identifies the error type.
+ "message": "A String", # A human-readable error message.
+ },
+ },
+ "event_id": "A String", # The event_id token to be used to resume the interaction stream, from this event.
+ "interactionCompleteEvent": { # The interaction data, used for interaction.complete events.
+ "interaction": { # Response for InteractionService.CreateInteraction. # Required. The completed interaction with empty outputs to reduce the payload size. Use the preceding ContentDelta events for the actual output.
+ "agentInteraction": { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
+ "agent": "A String", # The name of the `Agent` used for generating the completion.
+ "deep_research_config": { # Configuration for the Deep Research agent.
+ "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
+ "thinking_summaries": "A String", # Whether to include thought summaries in the response.
+ "visualization": "A String", # Whether to include visualizations in the response.
+ },
+ "dynamic_config": { # Configuration for dynamic agents.
+ "config": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # For agents that are not supported statically in the API definition.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ },
+ "content": { # The content of the response. # The content for the interaction.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ "contentList": { # A list of Content. # The inputs for the interaction.
+ "contents": [ # The contents of the list.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
+ "id": "A String", # Required. Output only. A unique identifier for the interaction completion.
+ "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models.
+ "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction.
+ "image_config": { # The configuration for image interaction. # Configuration for image interaction.
+ "aspect_ratio": "A String", # The aspect ratio of the image to generate. Supported aspect ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9. If not specified, the model will choose a default aspect ratio based on any reference images provided.
+ "image_size": "A String", # Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+ },
+ "max_output_tokens": 42, # The maximum number of tokens to include in the response.
+ "seed": 42, # Seed used in decoding for reproducibility.
+ "speech_config": [ # Configuration for speech interaction.
+ { # The configuration for speech interaction.
+ "language": "A String", # The language of the speech.
+ "speaker": "A String", # The speaker's name, it should match the speaker name given in the prompt.
+ "voice": "A String", # The voice of the speaker.
+ },
+ ],
+ "stop_sequences": [ # A list of character sequences that will stop output interaction.
+ "A String",
+ ],
+ "temperature": 3.14, # Controls the randomness of the output.
+ "thinking_level": "A String", # The level of thought tokens that the model should generate.
+ "thinking_summaries": "A String", # Whether to include thought summaries in the response.
+ "toolChoiceConfig": { # The tool choice configuration containing allowed tools. # The config for the tool choice.
+ "allowed_tools": { # The configuration for allowed tools. # The allowed tools.
+ "mode": "A String", # The mode of the tool choice.
+ "tools": [ # The names of the allowed tools.
+ "A String",
+ ],
+ },
+ },
+ "toolChoiceMode": "A String", # The mode of the tool choice.
+ "top_p": 3.14, # The maximum cumulative probability of tokens to consider when sampling.
+ },
+ "model": "A String", # The name of the `Model` used for generating the completion.
+ },
+ "outputs": [ # Output only. Responses from the model.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ "previous_interaction_id": "A String", # The ID of the previous interaction, if any.
+ "responseFormatList": {
+ "response_formats": [
+ {
+ "audio": { # Configuration for audio output format.
+ "bit_rate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+ "delivery": "A String", # The delivery mode for the audio output.
+ "mime_type": "A String", # The MIME type of the audio output.
+ "sample_rate": 42, # Sample rate in Hz.
+ },
+ "image": { # Configuration for image output format.
+ "aspect_ratio": "A String", # The aspect ratio for the image output.
+ "delivery": "A String", # The delivery mode for the image output.
+ "image_size": "A String", # The size of the image output.
+ "mime_type": "A String", # The MIME type of the image output.
+ },
+ "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "text": { # Configuration for text output format.
+ "mime_type": "A String", # The MIME type of the text output.
+ "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "video": { # Configuration for video output format.
+ },
+ },
+ ],
+ },
+ "responseFormatSingleton": {
+ "audio": { # Configuration for audio output format.
+ "bit_rate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+ "delivery": "A String", # The delivery mode for the audio output.
+ "mime_type": "A String", # The MIME type of the audio output.
+ "sample_rate": 42, # Sample rate in Hz.
+ },
+ "image": { # Configuration for image output format.
+ "aspect_ratio": "A String", # The aspect ratio for the image output.
+ "delivery": "A String", # The delivery mode for the image output.
+ "image_size": "A String", # The size of the image output.
+ "mime_type": "A String", # The MIME type of the image output.
+ },
+ "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "text": { # Configuration for text output format.
+ "mime_type": "A String", # The MIME type of the text output.
+ "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "video": { # Configuration for video output format.
+ },
+ },
+ "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ "response_mime_type": "A String", # The mime type of the response. This is required if response_format is set.
+ "response_modalities": [ # The requested modalities of the response (TEXT, IMAGE, AUDIO).
+ "A String",
+ ],
+ "role": "A String", # Output only. The role of the interaction.
+ "status": "A String", # Required. Output only. The status of the interaction.
+ "stepList": { # A list of Steps. # Input only. The steps for the interaction.
+ "steps": [ # The steps of the list.
+ { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ "steps": [ # Output only. The steps that make up the interaction.
+ { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ ],
+ "stringContent": "A String", # A string input for the interaction, it will be processed as a single text input.
+ "system_instruction": "A String", # System instruction for the interaction.
+ "tools": [ # A list of tool declarations the model may call during interaction.
+ { # A tool that can be used by the model.
+ "codeExecution": { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
+ },
+ "computerUse": { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+ "environment": "A String", # The environment being operated.
+ "excluded_predefined_functions": [ # The list of predefined functions that are excluded from the model call.
+ "A String",
+ ],
+ },
+ "fileSearch": { # A tool that can be used by the model to search files. # A tool that can be used by the model to search files.
+ "file_search_store_names": [ # The file search store names to search.
+ "A String",
+ ],
+ "metadata_filter": "A String", # Metadata filter to apply to the semantic retrieval documents and chunks.
+ "top_k": 42, # The number of semantic retrieval chunks to retrieve.
+ },
+ "function": { # A tool that can be used by the model. # A function that can be used by the model.
+ "description": "A String", # A description of the function.
+ "name": "A String", # The name of the function.
+ "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ "googleMaps": { # A tool that can be used by the model to call Google Maps. # A tool that can be used by the model to search Google Maps.
+ "enable_widget": True or False, # Whether to return a widget context token in the tool call result of the response.
+ "latitude": 3.14, # The latitude of the user's location.
+ "longitude": 3.14, # The longitude of the user's location.
+ },
+ "googleSearch": { # A tool that can be used by the model to search Google. # A tool that can be used by the model to search Google.
+ "search_types": [ # The types of search grounding to enable.
+ "A String",
+ ],
+ },
+ "mcpServer": { # A MCPServer is a server that can be called by the model to perform actions. # A MCPServer is a server that can be called by the model to perform actions.
+ "allowed_tools": [ # The allowed tools.
+ { # The configuration for allowed tools.
+ "mode": "A String", # The mode of the tool choice.
+ "tools": [ # The names of the allowed tools.
+ "A String",
+ ],
+ },
+ ],
+ "headers": { # Optional: Fields for authentication headers, timeouts, etc., if needed.
+ "a_key": "A String",
+ },
+ "name": "A String", # The name of the MCPServer.
+ "url": "A String", # The full URL for the MCPServer endpoint. Example: "https://api.example.com/mcp"
+ },
+ "retrieval": { # A tool that can be used by the model to retrieve files. # A tool that can be used by the model to retrieve files.
+ "retrieval_types": [ # The types of file retrieval to enable.
+ "A String",
+ ],
+ "vertex_ai_search_config": { # Used to specify configuration for VertexAISearch. # Used to specify configuration for VertexAISearch.
+ "datastores": [ # Optional. Used to specify Vertex AI Search datastores.
+ "A String",
+ ],
+ "engine": "A String", # Optional. Used to specify Vertex AI Search engine.
+ },
+ },
+ "urlContext": { # A tool that can be used by the model to fetch URL context. # A tool that can be used by the model to fetch URL context.
+ },
+ },
+ ],
+ "turnList": { # A list of Turns. # The turns for the interaction.
+ "turns": [
+ {
+ "contentList": { # A list of Content. # The content of the turn. An array of Content objects.
+ "contents": [ # The contents of the list.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "contentString": "A String", # The content of the turn. A single string.
+ "role": "A String", # The originator of this turn. Must be user for input or model for model output.
+ },
+ ],
+ },
+ "updated": "A String", # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
+ "usage": { # Statistics on the interaction request's token usage. # Output only. Statistics on the interaction request's token usage.
+ "cached_tokens_by_modality": [ # A breakdown of cached token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "grounding_tool_count": [ # Grounding tool count.
+ { # The number of grounding tool counts.
+ "count": 42, # The number of grounding tool counts.
+ "type": "A String", # The grounding tool type associated with the count.
+ },
+ ],
+ "input_tokens_by_modality": [ # A breakdown of input token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "output_tokens_by_modality": [ # A breakdown of output token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "tool_use_tokens_by_modality": [ # A breakdown of tool-use token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "total_cached_tokens": 42, # Number of tokens in the cached part of the prompt (the cached content).
+ "total_input_tokens": 42, # Number of tokens in the prompt (context).
+ "total_output_tokens": 42, # Total number of tokens across all the generated responses.
+ "total_thought_tokens": 42, # Number of tokens of thoughts for thinking models.
+ "total_tokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
+ "total_tool_use_tokens": 42, # Number of tokens present in tool-use prompt(s).
+ },
+ },
+ },
+ "interactionCompletedEvent": { # The interaction data, used for interaction.completed events.
+ "interaction": { # Response for InteractionService.CreateInteraction. # Required. The completed interaction with empty outputs to reduce the payload size. Use the preceding ContentDelta events for the actual output.
+ "agentInteraction": { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
+ "agent": "A String", # The name of the `Agent` used for generating the completion.
+ "deep_research_config": { # Configuration for the Deep Research agent.
+ "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
+ "thinking_summaries": "A String", # Whether to include thought summaries in the response.
+ "visualization": "A String", # Whether to include visualizations in the response.
+ },
+ "dynamic_config": { # Configuration for dynamic agents.
+ "config": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # For agents that are not supported statically in the API definition.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ },
+ "content": { # The content of the response. # The content for the interaction.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ "contentList": { # A list of Content. # The inputs for the interaction.
+ "contents": [ # The contents of the list.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
+ "id": "A String", # Required. Output only. A unique identifier for the interaction completion.
+ "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models.
+ "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction.
+ "image_config": { # The configuration for image interaction. # Configuration for image interaction.
+ "aspect_ratio": "A String", # The aspect ratio of the image to generate. Supported aspect ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9. If not specified, the model will choose a default aspect ratio based on any reference images provided.
+ "image_size": "A String", # Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+ },
+ "max_output_tokens": 42, # The maximum number of tokens to include in the response.
+ "seed": 42, # Seed used in decoding for reproducibility.
+ "speech_config": [ # Configuration for speech interaction.
+ { # The configuration for speech interaction.
+ "language": "A String", # The language of the speech.
+ "speaker": "A String", # The speaker's name, it should match the speaker name given in the prompt.
+ "voice": "A String", # The voice of the speaker.
+ },
+ ],
+ "stop_sequences": [ # A list of character sequences that will stop output interaction.
+ "A String",
+ ],
+ "temperature": 3.14, # Controls the randomness of the output.
+ "thinking_level": "A String", # The level of thought tokens that the model should generate.
+ "thinking_summaries": "A String", # Whether to include thought summaries in the response.
+ "toolChoiceConfig": { # The tool choice configuration containing allowed tools. # The config for the tool choice.
+ "allowed_tools": { # The configuration for allowed tools. # The allowed tools.
+ "mode": "A String", # The mode of the tool choice.
+ "tools": [ # The names of the allowed tools.
+ "A String",
+ ],
+ },
+ },
+ "toolChoiceMode": "A String", # The mode of the tool choice.
+ "top_p": 3.14, # The maximum cumulative probability of tokens to consider when sampling.
+ },
+ "model": "A String", # The name of the `Model` used for generating the completion.
+ },
+ "outputs": [ # Output only. Responses from the model.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ "previous_interaction_id": "A String", # The ID of the previous interaction, if any.
+ "responseFormatList": {
+ "response_formats": [
+ {
+ "audio": { # Configuration for audio output format.
+ "bit_rate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+ "delivery": "A String", # The delivery mode for the audio output.
+ "mime_type": "A String", # The MIME type of the audio output.
+ "sample_rate": 42, # Sample rate in Hz.
+ },
+ "image": { # Configuration for image output format.
+ "aspect_ratio": "A String", # The aspect ratio for the image output.
+ "delivery": "A String", # The delivery mode for the image output.
+ "image_size": "A String", # The size of the image output.
+ "mime_type": "A String", # The MIME type of the image output.
+ },
+ "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "text": { # Configuration for text output format.
+ "mime_type": "A String", # The MIME type of the text output.
+ "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "video": { # Configuration for video output format.
+ },
+ },
+ ],
+ },
+ "responseFormatSingleton": {
+ "audio": { # Configuration for audio output format.
+ "bit_rate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+ "delivery": "A String", # The delivery mode for the audio output.
+ "mime_type": "A String", # The MIME type of the audio output.
+ "sample_rate": 42, # Sample rate in Hz.
+ },
+ "image": { # Configuration for image output format.
+ "aspect_ratio": "A String", # The aspect ratio for the image output.
+ "delivery": "A String", # The delivery mode for the image output.
+ "image_size": "A String", # The size of the image output.
+ "mime_type": "A String", # The MIME type of the image output.
+ },
+ "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "text": { # Configuration for text output format.
+ "mime_type": "A String", # The MIME type of the text output.
+ "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "video": { # Configuration for video output format.
+ },
+ },
+ "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ "response_mime_type": "A String", # The mime type of the response. This is required if response_format is set.
+ "response_modalities": [ # The requested modalities of the response (TEXT, IMAGE, AUDIO).
+ "A String",
+ ],
+ "role": "A String", # Output only. The role of the interaction.
+ "status": "A String", # Required. Output only. The status of the interaction.
+ "stepList": { # A list of Steps. # Input only. The steps for the interaction.
+ "steps": [ # The steps of the list.
+ { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ "steps": [ # Output only. The steps that make up the interaction.
+ { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ ],
+ "stringContent": "A String", # A string input for the interaction, it will be processed as a single text input.
+ "system_instruction": "A String", # System instruction for the interaction.
+ "tools": [ # A list of tool declarations the model may call during interaction.
+ { # A tool that can be used by the model.
+ "codeExecution": { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
+ },
+ "computerUse": { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+ "environment": "A String", # The environment being operated.
+ "excluded_predefined_functions": [ # The list of predefined functions that are excluded from the model call.
+ "A String",
+ ],
+ },
+ "fileSearch": { # A tool that can be used by the model to search files. # A tool that can be used by the model to search files.
+ "file_search_store_names": [ # The file search store names to search.
+ "A String",
+ ],
+ "metadata_filter": "A String", # Metadata filter to apply to the semantic retrieval documents and chunks.
+ "top_k": 42, # The number of semantic retrieval chunks to retrieve.
+ },
+ "function": { # A tool that can be used by the model. # A function that can be used by the model.
+ "description": "A String", # A description of the function.
+ "name": "A String", # The name of the function.
+ "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ "googleMaps": { # A tool that can be used by the model to call Google Maps. # A tool that can be used by the model to search Google Maps.
+ "enable_widget": True or False, # Whether to return a widget context token in the tool call result of the response.
+ "latitude": 3.14, # The latitude of the user's location.
+ "longitude": 3.14, # The longitude of the user's location.
+ },
+ "googleSearch": { # A tool that can be used by the model to search Google. # A tool that can be used by the model to search Google.
+ "search_types": [ # The types of search grounding to enable.
+ "A String",
+ ],
+ },
+ "mcpServer": { # A MCPServer is a server that can be called by the model to perform actions. # A MCPServer is a server that can be called by the model to perform actions.
+ "allowed_tools": [ # The allowed tools.
+ { # The configuration for allowed tools.
+ "mode": "A String", # The mode of the tool choice.
+ "tools": [ # The names of the allowed tools.
+ "A String",
+ ],
+ },
+ ],
+ "headers": { # Optional: Fields for authentication headers, timeouts, etc., if needed.
+ "a_key": "A String",
+ },
+ "name": "A String", # The name of the MCPServer.
+ "url": "A String", # The full URL for the MCPServer endpoint. Example: "https://api.example.com/mcp"
+ },
+ "retrieval": { # A tool that can be used by the model to retrieve files. # A tool that can be used by the model to retrieve files.
+ "retrieval_types": [ # The types of file retrieval to enable.
+ "A String",
+ ],
+ "vertex_ai_search_config": { # Used to specify configuration for VertexAISearch. # Used to specify configuration for VertexAISearch.
+ "datastores": [ # Optional. Used to specify Vertex AI Search datastores.
+ "A String",
+ ],
+ "engine": "A String", # Optional. Used to specify Vertex AI Search engine.
+ },
+ },
+ "urlContext": { # A tool that can be used by the model to fetch URL context. # A tool that can be used by the model to fetch URL context.
+ },
+ },
+ ],
+ "turnList": { # A list of Turns. # The turns for the interaction.
+ "turns": [
+ {
+ "contentList": { # A list of Content. # The content of the turn. An array of Content objects.
+ "contents": [ # The contents of the list.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "contentString": "A String", # The content of the turn. A single string.
+ "role": "A String", # The originator of this turn. Must be user for input or model for model output.
+ },
+ ],
+ },
+ "updated": "A String", # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
+ "usage": { # Statistics on the interaction request's token usage. # Output only. Statistics on the interaction request's token usage.
+ "cached_tokens_by_modality": [ # A breakdown of cached token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "grounding_tool_count": [ # Grounding tool count.
+ { # The number of grounding tool counts.
+ "count": 42, # The number of grounding tool counts.
+ "type": "A String", # The grounding tool type associated with the count.
+ },
+ ],
+ "input_tokens_by_modality": [ # A breakdown of input token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "output_tokens_by_modality": [ # A breakdown of output token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "tool_use_tokens_by_modality": [ # A breakdown of tool-use token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "total_cached_tokens": 42, # Number of tokens in the cached part of the prompt (the cached content).
+ "total_input_tokens": 42, # Number of tokens in the prompt (context).
+ "total_output_tokens": 42, # Total number of tokens across all the generated responses.
+ "total_thought_tokens": 42, # Number of tokens of thoughts for thinking models.
+ "total_tokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
+ "total_tool_use_tokens": 42, # Number of tokens present in tool-use prompt(s).
+ },
+ },
+ },
+ "interactionCreatedEvent": { # The interaction data, used for interaction.created events.
+ "interaction": { # Response for InteractionService.CreateInteraction.
+ "agentInteraction": { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
+ "agent": "A String", # The name of the `Agent` used for generating the completion.
+ "deep_research_config": { # Configuration for the Deep Research agent.
+ "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
+ "thinking_summaries": "A String", # Whether to include thought summaries in the response.
+ "visualization": "A String", # Whether to include visualizations in the response.
+ },
+ "dynamic_config": { # Configuration for dynamic agents.
+ "config": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # For agents that are not supported statically in the API definition.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ },
+ "content": { # The content of the response. # The content for the interaction.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ "contentList": { # A list of Content. # The inputs for the interaction.
+ "contents": [ # The contents of the list.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
+ "id": "A String", # Required. Output only. A unique identifier for the interaction completion.
+ "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models.
+ "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction.
+ "image_config": { # The configuration for image interaction. # Configuration for image interaction.
+ "aspect_ratio": "A String", # The aspect ratio of the image to generate. Supported aspect ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9. If not specified, the model will choose a default aspect ratio based on any reference images provided.
+ "image_size": "A String", # Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+ },
+ "max_output_tokens": 42, # The maximum number of tokens to include in the response.
+ "seed": 42, # Seed used in decoding for reproducibility.
+ "speech_config": [ # Configuration for speech interaction.
+ { # The configuration for speech interaction.
+ "language": "A String", # The language of the speech.
+ "speaker": "A String", # The speaker's name, it should match the speaker name given in the prompt.
+ "voice": "A String", # The voice of the speaker.
+ },
+ ],
+ "stop_sequences": [ # A list of character sequences that will stop output interaction.
+ "A String",
+ ],
+ "temperature": 3.14, # Controls the randomness of the output.
+ "thinking_level": "A String", # The level of thought tokens that the model should generate.
+ "thinking_summaries": "A String", # Whether to include thought summaries in the response.
+ "toolChoiceConfig": { # The tool choice configuration containing allowed tools. # The config for the tool choice.
+ "allowed_tools": { # The configuration for allowed tools. # The allowed tools.
+ "mode": "A String", # The mode of the tool choice.
+ "tools": [ # The names of the allowed tools.
+ "A String",
+ ],
+ },
+ },
+ "toolChoiceMode": "A String", # The mode of the tool choice.
+ "top_p": 3.14, # The maximum cumulative probability of tokens to consider when sampling.
+ },
+ "model": "A String", # The name of the `Model` used for generating the completion.
+ },
+ "outputs": [ # Output only. Responses from the model.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ "previous_interaction_id": "A String", # The ID of the previous interaction, if any.
+ "responseFormatList": {
+ "response_formats": [
+ {
+ "audio": { # Configuration for audio output format.
+ "bit_rate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+ "delivery": "A String", # The delivery mode for the audio output.
+ "mime_type": "A String", # The MIME type of the audio output.
+ "sample_rate": 42, # Sample rate in Hz.
+ },
+ "image": { # Configuration for image output format.
+ "aspect_ratio": "A String", # The aspect ratio for the image output.
+ "delivery": "A String", # The delivery mode for the image output.
+ "image_size": "A String", # The size of the image output.
+ "mime_type": "A String", # The MIME type of the image output.
+ },
+ "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "text": { # Configuration for text output format.
+ "mime_type": "A String", # The MIME type of the text output.
+ "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "video": { # Configuration for video output format.
+ },
+ },
+ ],
+ },
+ "responseFormatSingleton": {
+ "audio": { # Configuration for audio output format.
+ "bit_rate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+ "delivery": "A String", # The delivery mode for the audio output.
+ "mime_type": "A String", # The MIME type of the audio output.
+ "sample_rate": 42, # Sample rate in Hz.
+ },
+ "image": { # Configuration for image output format.
+ "aspect_ratio": "A String", # The aspect ratio for the image output.
+ "delivery": "A String", # The delivery mode for the image output.
+ "image_size": "A String", # The size of the image output.
+ "mime_type": "A String", # The MIME type of the image output.
+ },
+ "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "text": { # Configuration for text output format.
+ "mime_type": "A String", # The MIME type of the text output.
+ "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "video": { # Configuration for video output format.
+ },
+ },
+ "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ "response_mime_type": "A String", # The mime type of the response. This is required if response_format is set.
+ "response_modalities": [ # The requested modalities of the response (TEXT, IMAGE, AUDIO).
+ "A String",
+ ],
+ "role": "A String", # Output only. The role of the interaction.
+ "status": "A String", # Required. Output only. The status of the interaction.
+ "stepList": { # A list of Steps. # Input only. The steps for the interaction.
+ "steps": [ # The steps of the list.
+ { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ "steps": [ # Output only. The steps that make up the interaction.
+ { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ ],
+ "stringContent": "A String", # A string input for the interaction, it will be processed as a single text input.
+ "system_instruction": "A String", # System instruction for the interaction.
+ "tools": [ # A list of tool declarations the model may call during interaction.
+ { # A tool that can be used by the model.
+ "codeExecution": { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
+ },
+ "computerUse": { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+ "environment": "A String", # The environment being operated.
+ "excluded_predefined_functions": [ # The list of predefined functions that are excluded from the model call.
+ "A String",
+ ],
+ },
+ "fileSearch": { # A tool that can be used by the model to search files. # A tool that can be used by the model to search files.
+ "file_search_store_names": [ # The file search store names to search.
+ "A String",
+ ],
+ "metadata_filter": "A String", # Metadata filter to apply to the semantic retrieval documents and chunks.
+ "top_k": 42, # The number of semantic retrieval chunks to retrieve.
+ },
+ "function": { # A tool that can be used by the model. # A function that can be used by the model.
+ "description": "A String", # A description of the function.
+ "name": "A String", # The name of the function.
+ "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ "googleMaps": { # A tool that can be used by the model to call Google Maps. # A tool that can be used by the model to search Google Maps.
+ "enable_widget": True or False, # Whether to return a widget context token in the tool call result of the response.
+ "latitude": 3.14, # The latitude of the user's location.
+ "longitude": 3.14, # The longitude of the user's location.
+ },
+ "googleSearch": { # A tool that can be used by the model to search Google. # A tool that can be used by the model to search Google.
+ "search_types": [ # The types of search grounding to enable.
+ "A String",
+ ],
+ },
+ "mcpServer": { # A MCPServer is a server that can be called by the model to perform actions. # A MCPServer is a server that can be called by the model to perform actions.
+ "allowed_tools": [ # The allowed tools.
+ { # The configuration for allowed tools.
+ "mode": "A String", # The mode of the tool choice.
+ "tools": [ # The names of the allowed tools.
+ "A String",
+ ],
+ },
+ ],
+ "headers": { # Optional: Fields for authentication headers, timeouts, etc., if needed.
+ "a_key": "A String",
+ },
+ "name": "A String", # The name of the MCPServer.
+ "url": "A String", # The full URL for the MCPServer endpoint. Example: "https://api.example.com/mcp"
+ },
+ "retrieval": { # A tool that can be used by the model to retrieve files. # A tool that can be used by the model to retrieve files.
+ "retrieval_types": [ # The types of file retrieval to enable.
+ "A String",
+ ],
+ "vertex_ai_search_config": { # Used to specify configuration for VertexAISearch. # Used to specify configuration for VertexAISearch.
+ "datastores": [ # Optional. Used to specify Vertex AI Search datastores.
+ "A String",
+ ],
+ "engine": "A String", # Optional. Used to specify Vertex AI Search engine.
+ },
+ },
+ "urlContext": { # A tool that can be used by the model to fetch URL context. # A tool that can be used by the model to fetch URL context.
+ },
+ },
+ ],
+ "turnList": { # A list of Turns. # The turns for the interaction.
+ "turns": [
+ {
+ "contentList": { # A list of Content. # The content of the turn. An array of Content objects.
+ "contents": [ # The contents of the list.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "contentString": "A String", # The content of the turn. A single string.
+ "role": "A String", # The originator of this turn. Must be user for input or model for model output.
+ },
+ ],
+ },
+ "updated": "A String", # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
+ "usage": { # Statistics on the interaction request's token usage. # Output only. Statistics on the interaction request's token usage.
+ "cached_tokens_by_modality": [ # A breakdown of cached token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "grounding_tool_count": [ # Grounding tool count.
+ { # The number of grounding tool counts.
+ "count": 42, # The number of grounding tool counts.
+ "type": "A String", # The grounding tool type associated with the count.
+ },
+ ],
+ "input_tokens_by_modality": [ # A breakdown of input token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "output_tokens_by_modality": [ # A breakdown of output token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "tool_use_tokens_by_modality": [ # A breakdown of tool-use token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "total_cached_tokens": 42, # Number of tokens in the cached part of the prompt (the cached content).
+ "total_input_tokens": 42, # Number of tokens in the prompt (context).
+ "total_output_tokens": 42, # Total number of tokens across all the generated responses.
+ "total_thought_tokens": 42, # Number of tokens of thoughts for thinking models.
+ "total_tokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
+ "total_tool_use_tokens": 42, # Number of tokens present in tool-use prompt(s).
+ },
+ },
+ },
+ "interactionStartEvent": { # The interaction data, used for interaction.start events.
+ "interaction": { # Response for InteractionService.CreateInteraction.
+ "agentInteraction": { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
+ "agent": "A String", # The name of the `Agent` used for generating the completion.
+ "deep_research_config": { # Configuration for the Deep Research agent.
+ "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
+ "thinking_summaries": "A String", # Whether to include thought summaries in the response.
+ "visualization": "A String", # Whether to include visualizations in the response.
+ },
+ "dynamic_config": { # Configuration for dynamic agents.
+ "config": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # For agents that are not supported statically in the API definition.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ },
+ "content": { # The content of the response. # The content for the interaction.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ "contentList": { # A list of Content. # The inputs for the interaction.
+ "contents": [ # The contents of the list.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
+ "id": "A String", # Required. Output only. A unique identifier for the interaction completion.
+ "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models.
+ "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction.
+ "image_config": { # The configuration for image interaction. # Configuration for image interaction.
+ "aspect_ratio": "A String", # The aspect ratio of the image to generate. Supported aspect ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9. If not specified, the model will choose a default aspect ratio based on any reference images provided.
+ "image_size": "A String", # Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+ },
+ "max_output_tokens": 42, # The maximum number of tokens to include in the response.
+ "seed": 42, # Seed used in decoding for reproducibility.
+ "speech_config": [ # Configuration for speech interaction.
+ { # The configuration for speech interaction.
+ "language": "A String", # The language of the speech.
+ "speaker": "A String", # The speaker's name, it should match the speaker name given in the prompt.
+ "voice": "A String", # The voice of the speaker.
+ },
+ ],
+ "stop_sequences": [ # A list of character sequences that will stop output interaction.
+ "A String",
+ ],
+ "temperature": 3.14, # Controls the randomness of the output.
+ "thinking_level": "A String", # The level of thought tokens that the model should generate.
+ "thinking_summaries": "A String", # Whether to include thought summaries in the response.
+ "toolChoiceConfig": { # The tool choice configuration containing allowed tools. # The config for the tool choice.
+ "allowed_tools": { # The configuration for allowed tools. # The allowed tools.
+ "mode": "A String", # The mode of the tool choice.
+ "tools": [ # The names of the allowed tools.
+ "A String",
+ ],
+ },
+ },
+ "toolChoiceMode": "A String", # The mode of the tool choice.
+ "top_p": 3.14, # The maximum cumulative probability of tokens to consider when sampling.
+ },
+ "model": "A String", # The name of the `Model` used for generating the completion.
+ },
+ "outputs": [ # Output only. Responses from the model.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ "previous_interaction_id": "A String", # The ID of the previous interaction, if any.
+ "responseFormatList": {
+ "response_formats": [
+ {
+ "audio": { # Configuration for audio output format.
+ "bit_rate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+ "delivery": "A String", # The delivery mode for the audio output.
+ "mime_type": "A String", # The MIME type of the audio output.
+ "sample_rate": 42, # Sample rate in Hz.
+ },
+ "image": { # Configuration for image output format.
+ "aspect_ratio": "A String", # The aspect ratio for the image output.
+ "delivery": "A String", # The delivery mode for the image output.
+ "image_size": "A String", # The size of the image output.
+ "mime_type": "A String", # The MIME type of the image output.
+ },
+ "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "text": { # Configuration for text output format.
+ "mime_type": "A String", # The MIME type of the text output.
+ "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "video": { # Configuration for video output format.
+ },
+ },
+ ],
+ },
+ "responseFormatSingleton": {
+ "audio": { # Configuration for audio output format.
+ "bit_rate": 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
+ "delivery": "A String", # The delivery mode for the audio output.
+ "mime_type": "A String", # The MIME type of the audio output.
+ "sample_rate": 42, # Sample rate in Hz.
+ },
+ "image": { # Configuration for image output format.
+ "aspect_ratio": "A String", # The aspect ratio for the image output.
+ "delivery": "A String", # The delivery mode for the image output.
+ "image_size": "A String", # The size of the image output.
+ "mime_type": "A String", # The MIME type of the image output.
+ },
+ "structValue": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "text": { # Configuration for text output format.
+ "mime_type": "A String", # The MIME type of the text output.
+ "schema": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # The JSON schema that the output should conform to. Only applicable when mime_type is application/json.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "video": { # Configuration for video output format.
+ },
+ },
+ "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ "response_mime_type": "A String", # The mime type of the response. This is required if response_format is set.
+ "response_modalities": [ # The requested modalities of the response (TEXT, IMAGE, AUDIO).
+ "A String",
+ ],
+ "role": "A String", # Output only. The role of the interaction.
+ "status": "A String", # Required. Output only. The status of the interaction.
+ "stepList": { # A list of Steps. # Input only. The steps for the interaction.
+ "steps": [ # The steps of the list.
+ { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ "steps": [ # Output only. The steps that make up the interaction.
+ { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ ],
+ "stringContent": "A String", # A string input for the interaction, it will be processed as a single text input.
+ "system_instruction": "A String", # System instruction for the interaction.
+ "tools": [ # A list of tool declarations the model may call during interaction.
+ { # A tool that can be used by the model.
+ "codeExecution": { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
+ },
+ "computerUse": { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+ "environment": "A String", # The environment being operated.
+ "excluded_predefined_functions": [ # The list of predefined functions that are excluded from the model call.
+ "A String",
+ ],
+ },
+ "fileSearch": { # A tool that can be used by the model to search files. # A tool that can be used by the model to search files.
+ "file_search_store_names": [ # The file search store names to search.
+ "A String",
+ ],
+ "metadata_filter": "A String", # Metadata filter to apply to the semantic retrieval documents and chunks.
+ "top_k": 42, # The number of semantic retrieval chunks to retrieve.
+ },
+ "function": { # A tool that can be used by the model. # A function that can be used by the model.
+ "description": "A String", # A description of the function.
+ "name": "A String", # The name of the function.
+ "parameters": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # The JSON Schema for the function's parameters.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ "googleMaps": { # A tool that can be used by the model to call Google Maps. # A tool that can be used by the model to search Google Maps.
+ "enable_widget": True or False, # Whether to return a widget context token in the tool call result of the response.
+ "latitude": 3.14, # The latitude of the user's location.
+ "longitude": 3.14, # The longitude of the user's location.
+ },
+ "googleSearch": { # A tool that can be used by the model to search Google. # A tool that can be used by the model to search Google.
+ "search_types": [ # The types of search grounding to enable.
+ "A String",
+ ],
+ },
+ "mcpServer": { # A MCPServer is a server that can be called by the model to perform actions. # A MCPServer is a server that can be called by the model to perform actions.
+ "allowed_tools": [ # The allowed tools.
+ { # The configuration for allowed tools.
+ "mode": "A String", # The mode of the tool choice.
+ "tools": [ # The names of the allowed tools.
+ "A String",
+ ],
+ },
+ ],
+ "headers": { # Optional: Fields for authentication headers, timeouts, etc., if needed.
+ "a_key": "A String",
+ },
+ "name": "A String", # The name of the MCPServer.
+ "url": "A String", # The full URL for the MCPServer endpoint. Example: "https://api.example.com/mcp"
+ },
+ "retrieval": { # A tool that can be used by the model to retrieve files. # A tool that can be used by the model to retrieve files.
+ "retrieval_types": [ # The types of file retrieval to enable.
+ "A String",
+ ],
+ "vertex_ai_search_config": { # Used to specify configuration for VertexAISearch. # Used to specify configuration for VertexAISearch.
+ "datastores": [ # Optional. Used to specify Vertex AI Search datastores.
+ "A String",
+ ],
+ "engine": "A String", # Optional. Used to specify Vertex AI Search engine.
+ },
+ },
+ "urlContext": { # A tool that can be used by the model to fetch URL context. # A tool that can be used by the model to fetch URL context.
+ },
+ },
+ ],
+ "turnList": { # A list of Turns. # The turns for the interaction.
+ "turns": [
+ {
+ "contentList": { # A list of Content. # The content of the turn. An array of Content objects.
+ "contents": [ # The contents of the list.
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "contentString": "A String", # The content of the turn. A single string.
+ "role": "A String", # The originator of this turn. Must be user for input or model for model output.
+ },
+ ],
+ },
+ "updated": "A String", # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
+ "usage": { # Statistics on the interaction request's token usage. # Output only. Statistics on the interaction request's token usage.
+ "cached_tokens_by_modality": [ # A breakdown of cached token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "grounding_tool_count": [ # Grounding tool count.
+ { # The number of grounding tool counts.
+ "count": 42, # The number of grounding tool counts.
+ "type": "A String", # The grounding tool type associated with the count.
+ },
+ ],
+ "input_tokens_by_modality": [ # A breakdown of input token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "output_tokens_by_modality": [ # A breakdown of output token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "tool_use_tokens_by_modality": [ # A breakdown of tool-use token usage by modality.
+ { # The token count for a single response modality.
+ "modality": "A String", # The modality associated with the token count.
+ "tokens": 42, # Number of tokens for the modality.
+ },
+ ],
+ "total_cached_tokens": 42, # Number of tokens in the cached part of the prompt (the cached content).
+ "total_input_tokens": 42, # Number of tokens in the prompt (context).
+ "total_output_tokens": 42, # Total number of tokens across all the generated responses.
+ "total_thought_tokens": 42, # Number of tokens of thoughts for thinking models.
+ "total_tokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
+ "total_tool_use_tokens": 42, # Number of tokens present in tool-use prompt(s).
+ },
+ },
+ },
+ "interactionStatusUpdate": { # The interaction status data, used for interaction.status_update events.
+ "interaction_id": "A String",
+ "status": "A String",
+ },
+ "stepDelta": { # The step delta data, used for step.delta events.
+ "delta": {
+ "argumentsDelta": {
+ "partial_arguments": "A String",
+ },
+ "audio": {
+ "channels": 42, # The number of audio channels.
+ "data": "A String",
+ "mime_type": "A String",
+ "rate": 42, # Deprecated. Use sample_rate instead. The value is ignored.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String",
+ },
+ "document": {
+ "data": "A String",
+ "mime_type": "A String",
+ "uri": "A String",
+ },
+ "image": {
+ "data": "A String",
+ "mime_type": "A String",
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String",
+ },
+ "text": {
+ "text": "A String",
+ },
+ "textAnnotationDelta": {
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ },
+ "thoughtSignature": {
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ },
+ "thoughtSummary": {
+ "content": { # A new summary item to be added to the thought.
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ },
+ "video": {
+ "data": "A String",
+ "mime_type": "A String",
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String",
+ },
+ },
+ "index": 42,
+ },
+ "stepStart": { # The step start data, used for step.start events.
+ "index": 42,
+ "step": { # A step in the interaction.
+ "modelOutput": { # Output generated by the model.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ "thought": { # A thought step.
+ "signature": "A String", # A signature hash for backend validation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call step.
+ "codeExecutionCall": { # Code execution call step.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search call step.
+ },
+ "functionCall": { # A function tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps call step.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search call step.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call step.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context call step.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result step.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result step.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result step.
+ },
+ "functionResult": { # Result of a function tool call.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result step.
+ "result": [
+ { # The result of the Google Maps.
+ "places": [
+ {
+ "name": "A String",
+ "place_id": "A String",
+ "review_snippets": [
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String",
+ },
+ ],
+ "widget_context_token": "A String",
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result step.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result step.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result step.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "userInput": { # Input provided by the user.
+ "content": [
+ { # The content of the response.
+ "audio": { # An audio content block.
+ "channels": 42, # The number of audio channels.
+ "data": "A String", # The audio content.
+ "mime_type": "A String", # The mime type of the audio.
+ "sample_rate": 42, # The sample rate of the audio.
+ "uri": "A String", # The URI of the audio.
+ },
+ "document": { # A document content block.
+ "data": "A String", # The document content.
+ "mime_type": "A String", # The mime type of the document.
+ "uri": "A String", # The URI of the document.
+ },
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ "thought": { # A thought content block.
+ "signature": "A String", # Signature to match the backend source to be part of the generation.
+ "summary": [ # A summary of the thought.
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "toolCall": { # Tool call content.
+ "codeExecutionCall": { # Code execution content.
+ "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
+ "code": "A String", # The code to be executed.
+ "language": "A String", # Programming language of the `code`.
+ },
+ },
+ "fileSearchCall": { # File Search content.
+ },
+ "functionCall": { # A function tool call content block.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool to call.
+ },
+ "googleMapsCall": { # Google Maps content.
+ "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
+ "queries": [ # The queries to be executed.
+ "A String",
+ ],
+ },
+ },
+ "googleSearchCall": { # Google Search content.
+ "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
+ "queries": [ # Web search queries for the following-up web search.
+ "A String",
+ ],
+ },
+ "search_type": "A String", # The type of search grounding enabled.
+ },
+ "id": "A String", # Required. A unique ID for this specific tool call.
+ "mcpServerToolCall": { # MCPServer tool call content.
+ "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Required. The name of the tool which was called.
+ "server_name": "A String", # Required. The name of the used MCP server.
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextCall": { # URL context content.
+ "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
+ "urls": [ # The URLs to fetch.
+ "A String",
+ ],
+ },
+ },
+ },
+ "toolResult": { # Tool result content.
+ "call_id": "A String", # Required. ID to match the ID from the function call block.
+ "codeExecutionResult": { # Code execution result content.
+ "is_error": True or False, # Whether the code execution resulted in an error.
+ "result": "A String", # Required. The output of the code execution.
+ },
+ "fileSearchResult": { # File Search result content.
+ "result": [ # Optional. The results of the File Search.
+ { # The result of the File Search.
+ },
+ ],
+ },
+ "functionResult": { # A function tool result content block.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "is_error": True or False, # Whether the tool call resulted in an error.
+ "name": "A String", # The name of the tool that was called.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "googleMapsResult": { # Google Maps result content.
+ "result": [ # Required. The results of the Google Maps.
+ { # The result of the Google Maps.
+ "places": [ # The places that were found.
+ {
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ ],
+ "widget_context_token": "A String", # Resource name of the Google Maps widget context token.
+ },
+ ],
+ },
+ "googleSearchResult": { # Google Search result content.
+ "is_error": True or False, # Whether the Google Search resulted in an error.
+ "result": [ # Required. The results of the Google Search.
+ { # The result of the Google Search.
+ "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview.
+ },
+ ],
+ },
+ "mcpServerToolResult": { # MCPServer tool result content.
+ "contentList": {
+ "contents": [
+ {
+ "image": { # An image content block.
+ "data": "A String", # The image content.
+ "mime_type": "A String", # The mime type of the image.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the image.
+ },
+ "text": { # A text content block.
+ "annotations": [ # Citation information for model-generated content.
+ { # Citation information for model-generated content.
+ "end_index": 42, # End of the attributed segment, exclusive.
+ "file_citation": { # A file citation annotation. # A file citation annotation.
+ "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ "document_uri": "A String", # The URI of the file.
+ "file_name": "A String", # The name of the file.
+ "media_id": "A String", # Media ID in-case of image citations, if applicable.
+ "page_number": 42, # Page number of the cited document, if applicable.
+ "source": "A String", # Source attributed for a portion of the text.
+ },
+ "place_citation": { # A place citation annotation. # A place citation annotation.
+ "name": "A String", # Title of the place.
+ "place_id": "A String", # The ID of the place, in `places/{place_id}` format.
+ "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
+ { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
+ "review_id": "A String", # The ID of the review snippet.
+ "title": "A String", # Title of the review.
+ "url": "A String", # A link that corresponds to the user review on Google Maps.
+ },
+ ],
+ "url": "A String", # URI reference of the place.
+ },
+ "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
+ "url_citation": { # A URL citation annotation. # A URL citation annotation.
+ "title": "A String", # The title of the URL.
+ "url": "A String", # The URL.
+ },
+ },
+ ],
+ "text": "A String", # Required. The text content.
+ },
+ },
+ ],
+ },
+ "name": "A String", # Name of the tool which is called for this specific tool call.
+ "server_name": "A String", # The name of the used MCP server.
+ "stringResult": "A String",
+ "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
+ "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
+ { # Represents a single field in a struct.
+ "name": "A String",
+ "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
+ "boolValue": True or False, # Represents a boolean value.
+ "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
+ "values": [ # Repeated field of dynamically typed values.
+ # Object with schema name: GenaiValue
+ ],
+ },
+ "nullValue": "A String", # Represents a null value.
+ "numberValue": 3.14, # Represents a double value.
+ "stringValue": "A String", # Represents a string value.
+ "structValue": # Object with schema name: GenaiStruct # Represents a structured value.
+ },
+ },
+ ],
+ },
+ },
+ "signature": "A String", # A signature hash for backend validation.
+ "urlContextResult": { # URL context result content.
+ "is_error": True or False, # Whether the URL context resulted in an error.
+ "result": [ # Required. The results of the URL context.
+ { # The result of the URL context.
+ "status": "A String", # The status of the URL retrieval.
+ "url": "A String", # The URL that was fetched.
+ },
+ ],
+ },
+ },
+ "video": { # A video content block.
+ "data": "A String", # The video content.
+ "mime_type": "A String", # The mime type of the video.
+ "resolution": "A String", # The resolution of the media.
+ "uri": "A String", # The URI of the video.
+ },
+ },
+ ],
+ },
+ },
+ },
+ "stepStop": { # The step stop data, used for step.stop events.
+ "index": 42,
+ },
+}
+
+
+
\ No newline at end of file
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.agents.html b/docs/dyn/aiplatform_v1beta1.projects.locations.agents.html
index e7a0647fd7..84acb4cdd9 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.agents.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.agents.html
@@ -82,10 +82,297 @@ Instance Methods
Close httplib2 connections.
+
+ create(parent, body=None, x__xgafv=None)
+Creates a new Agent in a given location.
+
+Deletes the specific Agent.
+
+Gets details of the specific Agent.
+
+ list(parent, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)
+Lists Agents in a given location.
+
+Retrieves the next page of results.
+
+ patch(name, body=None, updateMask=None, x__xgafv=None)
+Updates the specific Agent.
Method Details
close()
Close httplib2 connections.
+
+ create(parent, body=None, x__xgafv=None)
+ Creates a new Agent in a given location.
+
+Args:
+ parent: string, Required. The resource name of the location to create the agent in. Format: `projects/{project}/locations/{location}`. (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # A Vertex agent contains instructions and configurations for the LLM to execute a certain task.
+ "base_agent": "A String", # Required. The base agent of the agent. Supported values: - "antigravity-preview-05-2026"
+ "base_environment": "", # Optional. The environment config of the agent. Valid types are: - string value for environment_id, or 'remote' for default - struct value for EnvironmentConfig.
+ "created": "A String", # Output only. Timestamp when the agent was created.
+ "description": "A String", # Optional. The description of the agent.
+ "id": "A String", # Immutable. The ID to use for agent, which will become the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, the last character must be a letter or number.
+ "metadata": { # Optional. The metadata of the agent.
+ "a_key": "A String",
+ },
+ "name": "A String", # Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+ "object": "A String", # Output only. The object type of this resource. Always set to "agent" in this case.
+ "system_instruction": "A String", # Optional. The detailed struction that the agent should follow. The instruction is passed to LLM as system instruction.
+ "tools": [ # Optional. A list of tools that are available for the agent during the process of execucting the task.
+ { # A tool provides a list of actions that are available for the Agent during the process of executing the task.
+ "headers": { # Optional. Headers for the MCP server (e.g., authentication). Only applicable when `type` is "mcp".
+ "a_key": "A String",
+ },
+ "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is "mcp".
+ "type": "A String", # Required. Type of the tool. Supported types: - "code_execution" - "filesystem" - "google_search" - "mcp" - "url_context"
+ "url": "A String", # Optional. The full URL for the MCP server endpoint. Only applicable when `type` is "mcp".
+ },
+ ],
+ "updated": "A String", # Output only. Timestamp when the agent was last updated.
+}
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # This resource represents a long-running operation that is the result of a network API call.
+ "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+ "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+ "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+ },
+ "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+ "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+}
+
+
+
+ delete(name, x__xgafv=None)
+ Deletes the specific Agent.
+
+Args:
+ name: string, Required. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}` (required)
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # This resource represents a long-running operation that is the result of a network API call.
+ "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+ "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+ "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+ },
+ "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+ "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+}
+
+
+
+ get(name, x__xgafv=None)
+ Gets details of the specific Agent.
+
+Args:
+ name: string, Required. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. (required)
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task.
+ "base_agent": "A String", # Required. The base agent of the agent. Supported values: - "antigravity-preview-05-2026"
+ "base_environment": "", # Optional. The environment config of the agent. Valid types are: - string value for environment_id, or 'remote' for default - struct value for EnvironmentConfig.
+ "created": "A String", # Output only. Timestamp when the agent was created.
+ "description": "A String", # Optional. The description of the agent.
+ "id": "A String", # Immutable. The ID to use for agent, which will become the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, the last character must be a letter or number.
+ "metadata": { # Optional. The metadata of the agent.
+ "a_key": "A String",
+ },
+ "name": "A String", # Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+ "object": "A String", # Output only. The object type of this resource. Always set to "agent" in this case.
+ "system_instruction": "A String", # Optional. The detailed struction that the agent should follow. The instruction is passed to LLM as system instruction.
+ "tools": [ # Optional. A list of tools that are available for the agent during the process of execucting the task.
+ { # A tool provides a list of actions that are available for the Agent during the process of executing the task.
+ "headers": { # Optional. Headers for the MCP server (e.g., authentication). Only applicable when `type` is "mcp".
+ "a_key": "A String",
+ },
+ "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is "mcp".
+ "type": "A String", # Required. Type of the tool. Supported types: - "code_execution" - "filesystem" - "google_search" - "mcp" - "url_context"
+ "url": "A String", # Optional. The full URL for the MCP server endpoint. Only applicable when `type` is "mcp".
+ },
+ ],
+ "updated": "A String", # Output only. Timestamp when the agent was last updated.
+}
+
+
+
+ list(parent, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)
+ Lists Agents in a given location.
+
+Args:
+ parent: string, Required. The resource name of the location to list agents from. Format: `projects/{project}/locations/{location} (required)
+ orderBy: string, Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `create_time desc`.
+ pageSize: integer, Optional. The maximum number of agents to return. The service may return fewer than this value. If unspecified, at most 100 agents will be returned.
+ pageToken: string, Optional. The next_page_token value returned from a previous list AgentService.ListAgents call.
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # Response message for AgentService.ListAgents.
+ "agents": [ # A list of agents matching the request.
+ { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task.
+ "base_agent": "A String", # Required. The base agent of the agent. Supported values: - "antigravity-preview-05-2026"
+ "base_environment": "", # Optional. The environment config of the agent. Valid types are: - string value for environment_id, or 'remote' for default - struct value for EnvironmentConfig.
+ "created": "A String", # Output only. Timestamp when the agent was created.
+ "description": "A String", # Optional. The description of the agent.
+ "id": "A String", # Immutable. The ID to use for agent, which will become the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, the last character must be a letter or number.
+ "metadata": { # Optional. The metadata of the agent.
+ "a_key": "A String",
+ },
+ "name": "A String", # Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+ "object": "A String", # Output only. The object type of this resource. Always set to "agent" in this case.
+ "system_instruction": "A String", # Optional. The detailed struction that the agent should follow. The instruction is passed to LLM as system instruction.
+ "tools": [ # Optional. A list of tools that are available for the agent during the process of execucting the task.
+ { # A tool provides a list of actions that are available for the Agent during the process of executing the task.
+ "headers": { # Optional. Headers for the MCP server (e.g., authentication). Only applicable when `type` is "mcp".
+ "a_key": "A String",
+ },
+ "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is "mcp".
+ "type": "A String", # Required. Type of the tool. Supported types: - "code_execution" - "filesystem" - "google_search" - "mcp" - "url_context"
+ "url": "A String", # Optional. The full URL for the MCP server endpoint. Only applicable when `type` is "mcp".
+ },
+ ],
+ "updated": "A String", # Output only. Timestamp when the agent was last updated.
+ },
+ ],
+ "nextPageToken": "A String", # A token, which can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.
+}
+
+
+
+ list_next()
+ Retrieves the next page of results.
+
+ Args:
+ previous_request: The request for the previous page. (required)
+ previous_response: The response from the request for the previous page. (required)
+
+ Returns:
+ A request object that you can call 'execute()' on to request the next
+ page. Returns None if there are no more items in the collection.
+
+
+
+
+ patch(name, body=None, updateMask=None, x__xgafv=None)
+ Updates the specific Agent.
+
+Args:
+ name: string, Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # A Vertex agent contains instructions and configurations for the LLM to execute a certain task.
+ "base_agent": "A String", # Required. The base agent of the agent. Supported values: - "antigravity-preview-05-2026"
+ "base_environment": "", # Optional. The environment config of the agent. Valid types are: - string value for environment_id, or 'remote' for default - struct value for EnvironmentConfig.
+ "created": "A String", # Output only. Timestamp when the agent was created.
+ "description": "A String", # Optional. The description of the agent.
+ "id": "A String", # Immutable. The ID to use for agent, which will become the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, the last character must be a letter or number.
+ "metadata": { # Optional. The metadata of the agent.
+ "a_key": "A String",
+ },
+ "name": "A String", # Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+ "object": "A String", # Output only. The object type of this resource. Always set to "agent" in this case.
+ "system_instruction": "A String", # Optional. The detailed struction that the agent should follow. The instruction is passed to LLM as system instruction.
+ "tools": [ # Optional. A list of tools that are available for the agent during the process of execucting the task.
+ { # A tool provides a list of actions that are available for the Agent during the process of executing the task.
+ "headers": { # Optional. Headers for the MCP server (e.g., authentication). Only applicable when `type` is "mcp".
+ "a_key": "A String",
+ },
+ "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is "mcp".
+ "type": "A String", # Required. Type of the tool. Supported types: - "code_execution" - "filesystem" - "google_search" - "mcp" - "url_context"
+ "url": "A String", # Optional. The full URL for the MCP server endpoint. Only applicable when `type` is "mcp".
+ },
+ ],
+ "updated": "A String", # Output only. Timestamp when the agent was last updated.
+}
+
+ updateMask: string, Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task.
+ "base_agent": "A String", # Required. The base agent of the agent. Supported values: - "antigravity-preview-05-2026"
+ "base_environment": "", # Optional. The environment config of the agent. Valid types are: - string value for environment_id, or 'remote' for default - struct value for EnvironmentConfig.
+ "created": "A String", # Output only. Timestamp when the agent was created.
+ "description": "A String", # Optional. The description of the agent.
+ "id": "A String", # Immutable. The ID to use for agent, which will become the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, the last character must be a letter or number.
+ "metadata": { # Optional. The metadata of the agent.
+ "a_key": "A String",
+ },
+ "name": "A String", # Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+ "object": "A String", # Output only. The object type of this resource. Always set to "agent" in this case.
+ "system_instruction": "A String", # Optional. The detailed struction that the agent should follow. The instruction is passed to LLM as system instruction.
+ "tools": [ # Optional. A list of tools that are available for the agent during the process of execucting the task.
+ { # A tool provides a list of actions that are available for the Agent during the process of executing the task.
+ "headers": { # Optional. Headers for the MCP server (e.g., authentication). Only applicable when `type` is "mcp".
+ "a_key": "A String",
+ },
+ "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is "mcp".
+ "type": "A String", # Required. Type of the tool. Supported types: - "code_execution" - "filesystem" - "google_search" - "mcp" - "url_context"
+ "url": "A String", # Optional. The full URL for the MCP server endpoint. Only applicable when `type` is "mcp".
+ },
+ ],
+ "updated": "A String", # Output only. Timestamp when the agent was last updated.
+}
+
+